写在前面的话
设计模式对于软件开发人员来说,重要性不言而喻。使用设计模式的主要目的是使软件可维护,扩展性好。它提供了一套方法来匹配我们开发中经常遇到的一些场景,GOF四人组提出了最初的23种设计模式,至今还在被许多人使用。然而我们很多时候,优先实现功能,设计在后,很多时候忽略了设计模式,从而导致软件的可维护性较差,到了后来代码就很难改动,修改此处的缺陷可能会影响到其他模块的功能。网上关于此主题的文章已经很多,近日也在重温设计模式,此处主要是记录个人的学习过程和体会。毕竟读懂它,会使用,然后表达出来,每中过程对于自己来说都是进步。每种设计模式记录简介,UML类图和简短示例。
设计模式分类
在gof的经典书籍《Design Patterns: Elements of Reusable Object-Oriented Software》中,将设计模式分为3类,本文也按照这个顺序依次记录:
- 创建型模式
1.抽象工厂模式(Abstract Factory)
2.建造者模式(Builder)
3.工厂方法模式(Factory Method)
4.原型模式(Prototype)
5.单例模式(Singleton) - 结构型模式
1.适配器模式(Adapter)
2.桥接模式(Bridge)
3.组合模式(Coposite)
4.装饰者模式(Decotorator)
5.外观模式(Facade)
6.享元模式(Flyweight)
7.代理模式(Proxy) - 行为型模式
1.责任链模式(Chain of responsibility)
2.命令模式(Command)
3.解释器模式(Interpreter)
4.迭代器模式(Iterator)
5.中介者模式(Mediator)
6.备忘录模式(Memento)
7.观察者模式(Observer)
8.状态模式(State)
9.策略模式(Strategy)
10.模板模式(Template)
11.访问者模式(Visitor)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。