设计模式概论

设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,它可以让代码可重用性高,让代码更容易被理解,并且更可靠。

设计模式的分类

设计模式一共可以分为三个大类,分别是:

  • 创建型:共5种,工厂方法模式,抽象工厂模式,单例模式,建造者模式和原型模式

  • 结构型模式:共7种,适配器模式,装饰器模式,代理模式,桥接模式,外观模式,组合模式和享元模式

  • 行为模式:共11种,策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

设计模式的原则

设计模式一共有6大基本原则

  1. 开闭原则: 对拓展开放,对修改关闭。在程序需要修改增加功能时,应该进行拓展,而不是修改原来的代码,实现一个热插拔的效果,所以在程序中应该使用抽象类和接口。

  2. 里氏代换原则: 任何基类出现的地方,子类一定能出现。这样,子类能够对基类进行拓展,一般来说就是继承。

  3. 依赖倒转原则: 类的实现应该依赖于接口和抽象,不应该依赖与底层其他类。使用接口或抽象类是各个类彼此独立,互不影响。

  4. 接口隔离原则: 接口应该尽量细化,功能单一,不要建立庞大臃肿的大接口。

  5. 迪米特原则: 类间解耦,一个类对其依赖的类知道的越少越好。

  6. 单一职责原则: 应该有且仅有一个原因引起类的变更。类的功能尽量单一。

大致的概括:单一职责原则表明类的设计要职责单一;里氏替换原则说使用继承,子类代替基类;依赖倒置原则说要面向接口的编程;接口隔离原则表明设计接口的时候要精简单一;迪米特法则告诉我们要降低耦合。而开闭原则是总纲,他告诉我们要对扩展开放,对修改关闭。