模式宋体设计模式总结4——分类汇总
这两天朋友几篇文章介绍了改模式宋体的文章. 关联文章的地址
面前三篇客博对计划模式的分类别分停止了相对较细的总结,这篇客博更多的是从微观的度角来停止总结。
首先,是一张图表,展示《计划模式》平分类的目标,用作。
目标 |
建创型模式 Creational Pattern |
结构型模式 Structural Patterns |
行为型模式 Behavioral Pattern |
观点 |
建创型模式,就是建创象对的模式,象抽了实例化的程过。 |
结构型模式是为处理怎么组装现有的类,计划他们的交互方式,从而到达现实定一的功能的目标。 |
行为型模式涉及到算法和象对间责职的分配,行为模式描述了象对和类的模式,以及他们之间的通信模式,行为型模式刻画了在程序运行时难以跟踪的庞杂的控制流可。 |
用作 |
它助帮一个系统独立于如何建创、组合和示表它的那些象对。存眷的是象对的建创,建创型模式将建创象对的程过停止了象抽,也可以理解为将建创象对的程过停止了封装,作为户客程序仅仅须要去用使象对,而不再心关建创象对程过的逻辑。 |
构建型模式包含额对很多问题的处理。例如:扩展性(外观模式,组合模式、代理模式、装饰模式);封装性(适配器模式、接桥模式) |
行为型模式可以分为:行为型模式和行为象对型模式。 1.行为型模式用使继承机制在类间分配行为。 2.行为象对模式用使象对聚合来分配行为。一些象对模式描述了一组对等的象对怎样相互协作以成完其中任何一个象对都法无独单成完的务任。 |
其次,用一句话单简的将各个模式的停止体总的归纳综合。
- 建创型模式:
- Singleton模式处理的是体实象对个数问题。除了Singleton以外,其他建创型模式处理的都是new所带来的耦合关系。
- Factory Method,Abstract Factory,Builder都须要一个外额的工厂类来担任实例化“易变象对”,而Prototype则是通过原型(一个特别的工厂类)来克隆“易变象对”。
- 若果到遇“易变类”,起初的计划平日从Factory Method开始,当到遇更多的庞杂化变时,再斟酌构重为其他三种工厂模式(Abstract Factory,Builder,Prototype)。
- 结构型模式:
- Adapter模式重视转换口接,将不合吻的口接适配对接。
- Bridge模式重视分离口接与其现实,支撑多纬度化变。
- Composite模式重视一统口接,将“一对多”的关系转化为“一对一”的关系
- Decorator模式重视稳定口接,在此前提下为象对扩展功能。
- Facadem模式重视简化口接,简化组件系统与外部户客程序的赖依关系。
- Flyweight重视留保口接,在内部用使享共技巧对象对存储停止优化。
- Proxy模式重视假借口接,加增接间层来现实灵巧控制
- 行文型模式:
- Template Method模式封装算法结构,支撑算法步子骤化变。
- Strategy模式重视封装算法,支撑算法的化变。
- State模式重视封装与状态关相的行为,支撑状态的化变。
- Memento模式重视封装象对状态化变,支撑状态保存、恢复。
- Mediator模式重视封装象对间的交互,支撑象对交互的化变。
- Chain of Responsibility模式重视封装象对义务,支撑义务的化变。
- Command模式重视将请求封装为象对,支撑请求的化变。
- Iterator模式重视封装合集象对内部结构,支撑合集的化变。
- Interpreter模式重视封装特定域领化变,支撑域领问题的频仍化变。
- Observer模式重视封装象对通知,支撑通信象对的化变。
- Visitor模式重视封装象对操纵化变,支撑在运行时为类层次结构动态加添新的操纵
第三,为计划模式赋了一张图,声明:由于自己对计划模式之间的关系也不太清晰,所以就从网上找了一张讲关系的图。
最后,用一个图表将《计划模式》中的六大准则停止了单简的总结。
名称 |
义定 |
单一责职准则 |
就一个类而言,该应有仅一个引发它化变的因原 |
开放—闭封准则 |
是说软件体实(类、块模、数函等)该应可以扩展,但是不能改修。 |
赖依倒转准则 |
A.高层 块模不该应赖依底层块模。两个都该应赖依象抽B.象抽不该应赖依细节。细节该应赖依象抽。 |
迪米特规律 |
如果两个类不必彼此直接通信,那么这个类就不应该生发之间的相互用作。如果其中一个类须要调用另一个类的某一个方法的话,可以通过圈外人转发这个调用 |
里氏代换准则 |
子类型必须可以替换掉它们的父类型。 |
口接离隔准则 |
应该为户客供提尽可能小的独单的口接而不该应供提大的综合性的口接。 |
对于计划模式的学习,感到不是很好握掌,但是也没有自己起初想的那么难。对于计划模式的学习,当初也才刚刚开始,更多的学习还是在以后的践实。
文章结束给大家分享下程序员的一些笑话语录:
一条狗在街上闲逛,看见橱窗里一张告示:「招聘程序员。会编程,有团队精神,至少精通两种语言。均等机会。」
那条狗就进去申请,但是被拒绝了。
「我不能雇一条狗在公司里做事。」经理说。
狗不服气,指着告示上「均等机会」几字抗议。
经理没法,叹了口气,不屑地问道:「你会编程吗?」
那条狗默默地走到电脑前,编了个程序,运作准确。
「你有团队精神吗?」经理问。
那条狗掉头看了看门外,一大群野狗在外面虎视耽耽。
「我真的不能雇狗做这份工作。」经理气急败坏地说。
「就算会编程、有团队精神,但是我需要的雇员至少要能精通两种语言。」
那条狗抬头看着经理说:「喵-噢。」