组合模式:
组合模式可以形象的比如成树,有叶子节点(Leaf),树枝节点(Composite),这两个节点都需要继承节点的属性(Component),
这样用户使用起来才能达到透明性。且需要具备子节点的管理特点。
子节点管理操作的不同可以分两种组合结构:子节点操作放在Component中
观察者模式:
观察者(Observer)模式又名发布-订阅(Publish/Subscribe)模式。GOF 给观察者模
式如下定义:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依
赖于它的对象都得到通知并被自动更新。
GOF 给出了以下使用观察者模式的情况:
1) 当一个抽象模型有两个方面, 其中一个方面依赖于另一方面。将这二者封装在独立
的对象中以使它们可以各自独立地改变和复用。
2) 当对一个对象的改变需要同时改变其它对象, 而不知道具体有多少对象有待改变。
3) 当一个对象必须通知其它对象,而它又不能假定其它对象是谁。换言之, 你不希望
这些对象是紧密耦合的。
观察者可以按是否把“目标对象”变化细节主动给观察者分为:“推模式”和“拉模式”。
策略模式(Strategy): 多态的简单利用。
区分变化的和不变的。
不变化的封装在基类中。变化的先分组,将高层通用接口封装在基类中,具体实现由子类决定。
建造模式(Build):将产品的生产过程抽象出“建造抽象类”,由具体的方法生产具体的产品。指导者调用抽象类中的方法创建产品,不用关心具体建
造细节。而使用者直接使用指导者创建产品。 建造模式与工厂方法很像,区别:在原来的工厂方法模式中,产品内部的表
象是由产品自身来决定的;而在建造模式中则是“外部化”为由建造者来负责。这样定义一个
新的具体建造者角色就可以改变产品的内部表象,符合“开闭原则”。
门面模式(facade): 简单的将子系统的被调用方法都封装在一个类中供其他客户使用。
命令模式:是回调函数在面向对象领域的应用。
将命令抽象出接口,再把一系列的具体命令传入invoker类统一调用。
若命令中实现了undo,redo操作,那么invoker中可以进行命令的回滚,重做,以及事务的实现。
适配器模式(Adapter)
:适配器模式就想是变压器一样,是将已有实现向目标接口的转换。比如在我的系统中已经设计好了接口结构,客户已经在使用这个接口,但是对于实现我想调用已
有的设计,但是已有的设计跟我的接口不一致,那么现在就需要使用适配器模式,将已有实现转换成我的接口的形式。
<!--{12838463842520}-->
将适
配器模式分为类适配器模式和对象适配器模式。区别仅在于适配器角色对于被适配角色的适配是通过继承完成的还是通过组合来完成的. 一般使用对象适配器。
与代理模式对比,两者的主要区别在于代理模式应用的情况是不
改变接口命名的,而且是对已有接口功能的一种控制;而适配器模式则强调接口转换。
代理模式:
继承与真实对象一样的接口,实现对真实对象的代理。适合做切面。符合“对扩展开放、对修改关闭”原则。
- 大小: 53.6 KB
分享到:
相关推荐
Head First 设计模式(高清中文完整版带目录)+附书源码+HeadFirst设计模式学习伴侣.rar 又名: Head First Design Patterns 作者: (美)弗里曼(Freeman,E.) 副标题: Head First Design Patterns 简介 ·····...
HeadFirst设计模式学习伴侣.jpg
C++的设计模式学习资料,说了GOF的23钟,这方面的书很少!我终于找到与大家分享了!
设计模式学习笔记,分析了GOF的23种模式和类设计的原则
Java设计模式,解说通俗易懂,推荐新手学习使用,文档中包含类图
设计模式学习笔记.ppt 自己写的一点学习笔记。
Java设计模式学习笔记
式学习,23中设计模式 设计模式之禅设计模式学习,23中设计模式 设计模式之禅 设计模式学习,设计模式之禅
我收集的设计模式的学习笔记,采用pdf格式,便于收藏和查看
设计模式学习笔记,总共23个设计模式,还有几个设计原则
包含设计模式的介绍文档、UML类图以及示例代码,详情可参见: http://blog.csdn.net/xuexiangjys/article/details/78924201 http://blog.csdn.net/xuexiangjys/article/details/78924434 ...
各个模式都有详细的例子C#学习笔记,打开就知道了
总结了java开发中的21种设计模式,详解和例子,带书签的pdf格式,方便阅读!
HeadFirst设计模式学习笔记比较全面详细地讲解了13个设计模式,有利于大家更好的学习HeadFirst设计模式,希望亲们会喜欢~~~
设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段...
设计模式学习 源码 主要是我学习设计模式的札记,
设计模式学习摘要。 网络上找到的资源,共享一下。
23种设计模式学习分享PPT,详细讲解每一种设计模式。PPT由本人亲自制作,可用于做培训,演讲时间大约1个小时,绝对精品。
设计模式学习总结.doc