solid 单一 一个类应该只有一个变化的原因 开闭 一个软件实体如类 模块 函数等 对外扩展开放,但不允许修改或者对修改关闭 里氏替换原 所有的基类的地方都应该透明的使用其子类对象 接口隔离 客户端不应该依赖他不需要接口,类之间的关系建立应在最小接口上 迪米特 只与你的直接“朋友”交谈,不跟陌生人说话 依赖倒置 上层模块不应该依赖于底层的模块,它们都应该依赖于抽象,抽象不应该依赖细节,细节应该依赖于抽象
23中设计模式速记 1.创建型
记忆:在热火朝天的工厂里,工人们在画要建造的实体的图纸(类),主管突然来抽(抽象模式)取了一个单身的工人(单例模式)去建造(建造者模式)一个图纸上的原型(原型模式);加一点想象,联系到场景,给自己一分钟,再回顾一下,看有没在浮现!当然,自己可以加上更动态夸张的方法去记忆。
包含设计模式有:工厂模式,抽象工厂模式,单例模式,建造者模式,原型模式
2.结构型:
记忆:简单一句话,(时)(代)潮流(结)(合),(装)(外)(享)
包含设计模式:适配器模式,代理模式,桥接模式,组合模式,装饰者模式,外观模式,享元模式;
3.行为型:
记忆:感到”寂寞“的时候就会容易导致一些特别的行为,寂(解)寞(模板),责令(命令)中介观叠(迭) 被(备),防(访)撞(状)车(策)
包含设计模式:解释器模式,模板模式,责任链模式,命令模式,中介模式,观察者模式,迭代模式,备忘录模式,访问者模式,状态模式,策略模式