N号林克

导航

设计模式学习记录 1

设计模式设计原则:
1.单一职责原则:一个类应该只有一个能够引起他变化的原因。如果承担职责过多,就会把他们耦合在一起,一个职责的变化会引起其他的变化,也会影响代码复用性
2.开闭原则:即OCP,一个软件实体(类,函数方法,模块等)每次发生变化时,应该时通过添加代码来增加行为,而不是修改原有代码
最好的实现这一原则的方法:提供一个固有接口,然后让所有可能的类实现该接口,让固定的接口与对象交互
3.里氏替代原则:即LSP,子类必须在能够完全替代父类的情况且软件不受影响的情况下,父类的函数才能安全的重用,子类才能安全的修改。里氏替代原则是实现ocp原则的重要方式
参考:正方形与长方形 正方形不能作为长方形的子类
4.依赖倒置原则:DIP,抽象不因该依赖于细节,细节应该依赖于抽象,即面向接口编程而不是面向实现编程,从而降低客户于具体实现的耦合
5.接口隔离原则:ISP,多个专门的接口比使用单一的总接口要好,不要让单一接口承担太多职责,把多个职责分离到多个接口中去。
6.合成复用原则:CRP,在新对象里面使用一些原有的对象,使之成为新对象的一部分。多用合成/聚合,少用继承
7.迪米特法则/最少知识原则:LOD/LKP,一个对象对其他对象应该尽少的了解。一个模块应该尽少的与其他实体交互,这样当一个模块修改时,其他模块的影响会变小,已于扩展
 
单例模式:确保一个类只有一个实例。通过私有构造函数来实现类外部不能对类实例化
提供一个全局访问点,通过一个返回该类对象的静态方法来实现
 
工厂方法模式:实现一个创造对象的接口,把创建对象这一工作推迟到子类中实现,让子类来决定创建对象的种类
定义一个工厂接口:创建一个工厂类
创建工厂类,将对象创建推迟到子类:创建类继承工厂类,由创建类创建不同产品
不同产品继承产品类,需要增加产品时只需要加一个产品类和一个创建工厂类


posted on 2020-07-14 13:16  N号林克  阅读(69)  评论(0编辑  收藏  举报