设计模式的三大原则:
1:开放--封闭原则:软件实体(类,模块,函数等等)应该可以扩展,但是不能修改。
2:单一职责原则:对于一个类而言,应该仅有一个引起它变化的原因。
3:依赖倒置原则:
A:高层模块不应该依赖底层模块,两个都应该依赖抽象;
B:抽象不应该依赖细节,细节应该依赖抽象。
一:构造型设计模式
1:单例模式
注意:多线程单例模式,进程辅助常量,死锁。
2:简单工厂模式
计算器实例
注意:在扩展时候容易违反“开放--封闭原则”
3:工厂方法模式
学雷锋实例
注意:
4:建造模式(把一个复杂类的构造与表现形式分离开来)
画胖,廋小人实例
领导者,抽象方法
5:模版模式()
简历实例
注意:深拷贝,浅拷贝,ICloneable借口,MerberWishClone(),对各种常见的语法还不是很了解。
三:行为模式
13:模板方法模式
实例:问题答卷
14:命令模式
实例:烤羊肉串
15:迭代器模式
实例:买票
16:观察者模式()
实例:老板,前台,员工(解决一对多的关系)
17:中介者模式(多对多的关系,发送消息,获取消息)
实例:联合国安理会
18:备忘录模式(对程序的下一步,提前对数据进行保存)
实例:游戏进度
19:解释器模式
实例:音乐解析器
20:状态模式
实例:加班状态
21:策略模式(对算法的封装过程)
实例:超市打折
22:职责链模式(两个抽象接口,设置下属,执行方法)
实例:员工请假
23:访问者模式
根据具体的实例来帮助自己对固定模式的认识。对各种模式中类与类之间的关系有一个很好的认识吧,还有就是对各种常见的情况有一种很好的认识的过程吧。各种模式的细节认识过程,设计模式的组合过程。说白了还是对各种常见的情景能够合理的抽象类。