常用设计原则和设计模式
一、常用设计原则
- 开闭原则 对扩展开发,对修改关闭。
- 里氏代换原则 任何基类可以出现的地方,子类一定可以出现,多使用多态的方式。
- 依赖倒转原则 尽量多依赖于抽象类或接口而不是具体实现类,对子类具有强制性和规范性。
- 接口隔离原则 尽量多使用小接口而不是大接口,避免接口的污染,降低耦合度。
- 迪米特法则(最少知道原则) 一个实体应当尽量少与其他实体之间发生相互作用,使系统功能模块相对独立。
- 合成复用原则 尽量多使用合成/聚合的方式,而不是继承的方式。
二、常用设计模式
- 单例设计模式 分为饿汉式和懒汉式,懒汉式需要对多线程进行同步处理。
- 普通工厂模式 建立一个工厂类,对实现了同一接口的不同实现类进行实例的创建。
- 多个工厂方法模式
- 静态方法工厂模式 将多个工厂方法模式中工厂类中的方法改为静态。
- 抽象工厂模式
- 装饰器模式 装饰器模式就是给一个对象动态的增加一些新功能,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例。
- 代理模式 代理模式就是找一个代理类替原对象进行一些操作。 装饰器模式和代理模式的区别: 装饰器模式将被代理对象作为参数传递给装饰器的构造方法,代理模式直接在代理类中创建被代理对象。
- 模板方法模式 模板方法模式主要指一个抽象类中封装了一个固定流程,流程中的具体步骤可以由不同子类进行不同的实现,通过抽象类让固定的流程产生不同的结果。 (图中斜体表示抽象)