设计模式初步总结

来源:互联网 发布:工业之家软件 编辑:程序博客网 时间:2024/06/06 02:12
1.简单工厂:用选择语句来选择生成需要的对象
2.策略模式:对规则(类)进行封装,实现相同接口调用不同规则(对象).
单一职责原则:就一个类而言,应该仅有一个引起他变化的原因.
开放-封闭原则:软件实体(类,模块,函数)应可扩展但不可修改.
依赖倒转原则:抽象不应该依赖细节,细节依赖于抽象.
里氏代换原则:子类必须能替换掉他们的父类.
3.装饰模式:动态的为一个对象添加额外的职责;在增加功能上,比生成子类更灵活.
4.代理模式:代理是真实对象的代表,对象通过代理间接访问其他对象.
5.工厂方法模式:工厂方法使一个类的实例化延迟到子类,这样可以遵循开闭原则添加方法;但是选择实例化对象的语句需要客户编写.
6.原型模式:深拷贝.
7.模板方法模式:将不变行为搬移到单一的地方,摆脱重复的不变行为的纠缠.
迪米特法则:若两个类不必直接通信,那么这两个类不应当发生直接的相互作用;若一个类需要调用另一个类的方法,可以通过第三方类转发这个调用.
8.外观模式:为子系统中的一组接口提供一个一致的界面,定义一个使子系统更容易使用的高层接口.使用:当一组接口过于多和复杂时.
9.建造者模式:对象组成较复杂,产生该对象的算法放入建造者类.
10.观察者模式:多个观察者对象监听某一个主题对象.这个主体对象在状态发生变化时,会通知所有观察者对象,使它们自动更新自己.
11.抽象工厂模式:为一组对象提供抽象接口,选择相应的对象,无需指定具体类.
12.状态模式:将状态的判断逻辑转移到表示不同状态的一系列类中.(对象的行为取决于状态,根据状态改变行为)
13.适配器模式:对象之间接口不同,通过适配器"翻译"
14.备忘录模式:将一个对象的内部数据状态保存在对象外部,以后可以将这个对象恢复到原先保存的状态.
15.组合模式:将对象组合成树形结构表示'部分-整体'的层次结构,组合模式使用户对单个对象和组合对象的使用具有一致性.
16.迭代器模式:提供一个访问某个集合内的所有元素并不暴露集合内结构的方法.
16.单例模式:类只允许有一个对象实例.
17.桥接模式:使抽象部分与其实现部分分离,使它们都可以独立变化.(将变化独立出来,实现多角度分类)
18.命令模式:将一个请求封装为一个对象,从而使你可使用不同的请求对客户进行参数化.支持请求排队,记录请求日志以及撤销请求的操作.
19.职责链模式:使多个对象都有机会处理请求,将对象连成一条链,沿着这条链传递请求,直到有一个对象处理它为止.
20.中介者模式:用一个中介封装一系列的对象交互.使各个对象不需要显式的互相引用.起到一个桥梁的作用.
21.享元模式:通过对象的共享避免大量非常相似类的开销.
22.解释器模式:通过解释另一种语言来实现功能.
23.访问者模式:将对数据的操作和数据分开.这种模式可以很方便的增加对数据的操作方法,但是要求数据结构成员稳定.
0 0