面向对象(OOP)的七大原则
- 开闭原则:对扩展开放,对修改关闭
- 里氏替换原则:继承必须保证超类所拥有的性质在子类中依然成立,即子类在继承父类后,尽量不要修改原有功能
- 依赖倒置原则:面向接口编程,不要面向实现编程(1.降低程序耦合性 2.抽象不依赖细节,细节要依赖抽象)
- 单一职责原则:尽量保证一个方法只做一件事,控制类的粒度大小,将对象解耦,提高其内聚性
- 接口隔离原则:要为各个类建立其专用的接口
- 迪米特法则:只与直接朋友交谈,不与陌生人交谈,即ABC,尽量不要让AC直接交流,可以通过第三方B的转发(A->B、B->C),来实现AC之间的通信
- 合成复用原则:尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现
设计模式的三大分类
- 创建型模式:如何创建一个对象,让创建与使用分离
- 结构型模式:让类或者对象组成一个更大的结构
- 行为型模式:让类或者对象如何协同合作,共同完成单个类或对象无法实现的事情,主要是分配一些职责
23种设计模式
创建型模式
1.单例模式 2.工厂模式 3.抽象工厂模式 4.建造者模式 5.原型模式
结构型模式
6.适配器模式 7.侨接模式 8.装饰模式 9.组合模式 10.外观模式 11.享元模式 12.代理模式
行为型模式
13.模版方法模式 14.命令模式 15.迭代器模式 16.观察者模式 17.中介者模式 18.备忘录模式 19.解释器模式 20.状态模式 21.策略模式 22.职责链模式 23.访问者模式