经典23种设计模式

六大设计原则:

单一原则:对于一个类或者接口来说,职责应该单一化。

里氏代换原则:子类必须拥有父类的全部能力,并且才可以在次基础上扩展。(里氏代换原则是对实现抽象化的具体步骤的规范)。

开放-封闭原则:程序的实体对象应该可以进行扩展,但不应该可以修改。开放-封闭原则的核心就是面向抽象编程。

依赖倒转原则:设计程序的时候,应该是实现依赖于抽象,而不是抽象依赖于实现。鼓励面向接口编程,让抽象使得各个类和模块实现彼此独立。

合成/聚合原则:尽量不使用继承,应尽量使用合成/聚合。其实就是接口和抽象类的区别,应该用“has-a”而不是用“is-a”,“is-a”会导致父类子类关系过于复杂。

迪米特法则:两个类直接不应该直接通信,如果要互相调用,应该使用一个中介类来转发这个调用。强调在类的结构设计上,应保护好自己的信息,因为信息隐蔽性越好,软件复用性越高。

 

创建型模式:

工厂方法模式:提供一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。

抽象工厂模式:提供一个创建一系列的对象的接口,而不需指定它们具体的类。(和建造者模式很像,抽象工厂模式注重了如何获取一个实例)。

单例模式:保证一个类仅有一个实例。

建造者模式:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。(注重了如何建造一个实例)。

原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。(典型的是clone方法,不用去实例化一个对象而直接创建,提升了性能和效率)。

 

未完待续……………………………………

 

你可能感兴趣的:(设计模式)