前言
入行也一年多了,蜗牛般的爬行。继续做程序员,2014就拿设计模式开始开刀吧,算是总结篇,文章选用《设计之禅》和《你的设计模式》这两本书。使用UML的类图方式画结构图,工具采用StarUML。之所以以这个学习开始,原因只有一个《设计之禅》这本书去年买的还没看完一直放着,但是最近想看其他书了,答应自己先看完这本书在进行看其他的。本人不吝舍买书,因为这样的投资是值得的。
正文
0 . 准备
1.创建型模式
社会化的分工越来越细,自然在软件设计方面也是如此,因此对象的创建和对象的使用分开也就成为了必然趋势。因为对象的创建会消耗掉系统的很多资源,所以单独对对象的创建进行研究,从而能够高效地创建对象就是创建型模式要探讨的问题,总共有6个具体的创建型模式。(说明:严格来说,简单工厂模式不是GoF总结出来的23种设计模式之一。)
设计模式学习——简单工厂模式(Simple Factory)
设计模式学习——工厂方法模式(Factory Method)
设计模式学习——抽象工厂模式(Abstract Factory)
设计模式学习——创建者模式(Builder)
设计模式学习——原型模式(Prototype)
设计模式学习——单例模式(Singleton)
2.结构型模式
在解决了对象的创建问题之后,对象的组成以及对象之间的依赖关系就成了开发人员关注的焦点,因为如何设计对象的结构、继承和依赖关系会影响到后续程 序的维护性、代码的健壮性、耦合性等。对象结构的设计很容易体现出设计人员水平的高低,总共有7个具体的结构型模式。
设计模式学习——外观模式(Facade)
设计模式学习——适配器模式(Adapter)
设计模式学习——代理模式(Proxy)
设计模式学习——装饰模式(Decorator)
设计模式学习——桥模式(Bridge)
设计模式学习——组合模式(Composite)
设计模式学习——享元模式(Flyweight)
3.行为型模式
在对象的结构和对象的创建问题都解决了之后,就剩下对象的行为问题了,如果对象的行为设计的好,那么对象的行为就会更清晰,它们之间的协作效率就会提高,总共有11个具体的行为型模式。
设计模式学习——模板方法模式(Template Method)
设计模式学习——观察者模式(Observer)
设计模式学习——状态模式(State)
设计模式学习——策略模式(Strategy)
设计模式学习——职责链模式(Chain of Responsibility)
设计模式学习——命令模式(Command)
设计模式学习——访问者模式(Visitor)
设计模式学习——调停者模式(Mediator)
设计模式学习——备忘录模式(Memento)
设计模式学习——迭代器模式(Iterator)
设计模式学习——解释器模式(Interpreter)
六大设计原则:
应该说这是所有设计模式的共性,都是隐形于其中。
设计模式学习——单一职责原则
设计模式学习——里氏替换原则
设计模式学习——依赖倒置原则
设计模式学习——接口隔离原则
设计模式学习——迪米特法则
设计模式学习——开闭原则
附注:
经常被人说虎头蛇尾,不想被别人说,那就干。行动证明一切,没有什么好说的。