目录
1 面向对象对象七大原则
单开里依分组迪
助记:一只手单独掀开里边的衣服,里面衣服的荷包好几个,每个荷包都分门别类的放置东西,分组了,具备这种分类思想的人,是无敌的
2 GOF 23种设计模式
2.1创建型
5种:工抽建单原
助记:工人抽烟,正在建设武器单元
factory | 1定义一个用于创建对象的接口,创建工作由具体工厂类实现。 2自顶向下看,或者是重构的角度看,实例化延迟到子类实现,行为实现下移。每个子类创建具体的商品,工厂子类和商品子类一一对应。 3自底向上看,或者是重构的角度看,各创建商品对象的类,具有相同的创建行为,将该行为抽象,提取,上移到父类中 |
abstract factory | 1提供一个创建一系列相关或相互依赖对象的接口。 2工厂A可以生产甲和乙商品,工厂B也可以生产甲和乙 |
builder | 1 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示 2 Builder定义builderPartA,buildPartB接口,子类实现;Director负责组装partA,partB,聚合builder |
prototype | 1用原型实例指定创建对象的种类 2通过拷贝这些原型创建新的对象 理解:prototype原型接口可以实例化不同的原型子类,每种原型子类可以clone出不同的对象出来 |
singleton | 1保证一个类仅有一个实例,要点:static成员,private构造函数,禁用拷贝构造,移动构造 2并提供一个访问它的全局访问点,public接口 |
2.2结构型
7种:享适代桥外组装
助记:想必是带到桥外边去组装,防止泄密
adapter | 1目标接口target与现有接口adaptee不一致,通过adaper适配, 2 adapter继承target,继承或聚合现有接口adaptee |
bridge | 1抽象 高层API,需要支持不同平台 2实现 不同平台对高层API的实现提供的底层支持的代码 3 类图与builder模式类似 |
proxy | 1proxy和realsubject都继承自subject基类,类似双胞胎 2 调用proxy接口函数时,接口内部才会实例化realsubject |
composite | 将对象组合成树形结构,使单个对象和组合对象的使用具有一致性 |
decorator | 1动态地给一个对象concreteComponent添加额外职责 2 装饰类是其兄弟,聚合了该对象,并在接口函数中新增额外职责 |
2.3行为型
11种:中访解命策,责备观模,迭状
助记:(由于中国长期被敌国封锁在2条岛链之内,命运悲催)中方解命的策略是 责备敌国抵近观摩,结果敌国被吓走,跌跌撞撞离开
state | 1 允许一个对象在其内部状态改变时改变它的行为 2 该对象针对context类来说的 3 具体状态类有具体的行为 |