1.设计模式
1)单例模式
2) 抽象工厂模式
3)建造者模式
4)工厂模式
5)原型模式
6)适配器模式
7)桥接模式
8)装饰模式
9)组合模式
10)外观模式
11)亨元模式
12)代理模式
13)模板方法模式
14)命令模式
15)迭代器模式
16)观察者模式
17)中介者模式
18)备忘录模式
19)解释器模式
20)状态模式
21)策略模式
22)职责链模式
23)访问者模式
2.设计模式存在的原因和地位
计算机软件语言的发展从机器语言-->低级语言-->高级语言,我更愿意称之为:从硬件语言-->底层语言-->中层语言-->自然语言。设计模式贯穿在在计算机语言和软件工程的发展中,软件工程的发展要求完整的软件功能和结构可以共享,要求单人向松散的多人或紧密的小团队向松散的大团队迁移,减弱结构的依赖,这也是设计模式存在的原因。
一个软件工程应该由该工程的独有功能结构和公有无依赖两部分组成。其中,独有功能结构部分由行业背景构成,公有无依赖部分由第三方结构和类似的结构构成,独立完成各自的专业化升级。