常用的设计模式能解决很多面向对象过程中的程序设计问题,但常常又让人有些迷惑,看代码大全一书睹简明解释,摘录如下:
- 单例模式(Singleton):为有且仅有一个实例的类提供一种全局访问的功能。
- 工厂模式(Factory):为特定基类的派生类进行实例化时,除了在工厂内部以外无需为了每一种可能的职责配置情况去创建特定的子类。
- 抽象工厂模式(Abstract Factory):通过指定对象组的种类而非单个对象的类型来支持创建一组相关的对象。
- 适配器模式(Adapter):把一个类的接口转变成另一个接口。
- 外观模式(Facade):为没有提供一致接口的代码提供一个一致的接口。
- 策略模式(Strategy):定义一组算法或者行为,使得它们可以动态的相互替换。
- 模板模式(Template):定义一个操作的算法的结构,但是把部分实现交给子类(子类可能无法被其它类再使用)。
- 观察者模式(Observer):使一组相关的对象相互同步,被观察者通过通知的方式通知注册到类中的观察者。
以上写的都是比较常用的几种,当然还有组合,装饰器和迭代器等等。。对于观察者模式用自己的理解重新描述了一下,感觉书中讲的有点不太到位。
有些设计模式比较相似,具体还是得用代码细细品味。于是请见本人github:https://github.com/wcwu/DesignPattern 看完请给个star,谢谢~