设计模式(Design Pattern,DP)
一、6大设计原则
1、单一职责原则(Single Responsibility Principle,SRP):接口要做到单一职责,类的设计尽量做到只有一个原因引起变化。
2、里氏替换原则(Liskov Substitution Principle,LSP):所有引用基类的地方必须能透明地使用其子类的对象。
3、依赖倒置原则(Dependence Inversion Principle,DIP):模块间的依赖通过抽象发生,实现类之间不发生直接的依赖关系,
其依赖关系是通过接口或抽象类产生的;接口或抽象类不依赖于实现类;实现类依赖接口或抽象类。
4、接口隔离原则(Interface Segregation Principle,ISP):类间的依赖关系应该建立在最小的接口上。根据接口隔离原则拆分接
口时,首先必须满足单一职责原则。
5、迪米特法则(Law of Demeter,LoD)也称为最少知识原则(Least Knowledge Principle,LKP):一个对象应该对其他对象有
最少的了解。
6、开闭原则(Open Closed Principle,OCP):一个软件实体如类、模块和函数应该对扩展开放,对修改关闭,这是Java世界里
最基础的设计原则。
二、23种设计模式
1、单例模式(Singleton Pattern):确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。
2、工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。
3、抽象工厂模式(Abstract Factory Pattern):为创建一组相关或相互依赖的对象提供一个接口,而且无须指定它们的具体类。
4、模板方法模式(Template Method Pattern):定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不
改变一个算法的结构即可重定义该算法的某些特定步骤。
5、建造者模式(Builder Pattern):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
6、代理模式(Proxy Pattern):为其他对象提供一种代理以控制对这个对象的访问。
7、原型模式(Prototype Pattern):用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。