设计模式
跋山涉水万里行
这个作者很懒,什么都没留下…
展开
-
装饰模式
概括动态地给对象添加一些额外的职责。就功能来说装饰模式相比子类更为灵活。概述在许多设计中,可能需要改进类的某个类的某个对象的某个功能,而不是该类创建的所有对象。例如 麻雀类的实例(麻雀)可以飞行100米 ,但有一只麻雀安装了特殊的装置 可以飞行150米。装饰模式是动态地扩展一个对象的功能,而不需要改变原始类代码的一种成熟模式。“具体组件“类与“具体装饰“类是该模式中最重要的两个角色。前者的实例被称原创 2017-08-24 18:52:57 · 254 阅读 · 0 评论 -
观察者模式
概括定义对象间的一种一对多的依赖关系,当一个对象的状态发生变化时,所有依赖他的对象都得到通知并被自动更新。概述在许多设计中,经常涉及多个对象都对一个特殊对象中的数据变化感兴趣,而且着多个对象都希望跟踪那个特殊对象中的数据变化。例如,某些需找工作的人对”求职中心”的职位需求信息的变化非常关心,观察者模式是关于多个对象想知道一个对象中数据变化情况的一种成熟的模式。观察者模式中有一个称作”主题”的对象和若原创 2017-08-23 14:18:53 · 383 阅读 · 0 评论 -
适配器模式
概括将一个类的接口转换为客户希望的另外一个接口。Adaptor模式使得原来由于接口不兼容二不能一起工作的那些类可以一起工作。概述在实际生活中 有很多和适配器类似的问题,比如有A型螺母,B型螺母,则用户可以分别使用A,B型螺丝与其配套。现在,不允许修改螺母 螺丝怎样让用户在A型螺母上使用B型螺丝呢? 在A型螺母后端焊接一个B型螺母可以达到目的在编程中也存在类似问题,比如A接口不能存放B接口类的实例的原创 2017-08-25 17:18:55 · 425 阅读 · 0 评论 -
命令模式
命令模式高度概括将一个请求封装为一个对象,从而使用户可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。概述在许多设计中,经常涉及到一个对象请求另一个对象调用其方法达到某种目的,如果请求者不希望或无法与被请求者打交道,即不希望或无法含有被请求者的引用,那么就可以使用命令模式。命令模式的核心就是使用命令对象封装方法调用,即将被请求者的引用封装到命令对象中,这样一来,当请求者原创 2017-08-22 17:26:17 · 571 阅读 · 0 评论 -
责任链模式
概括使多个对象都有机会处理请求,从而避免请求的发送者和接受者的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到一个对象该处理它为止。概述在设计Java程序时,肯能需要设计很多对象来满足用户的请求。如,要建立一个古瓷器鉴定系统,一个好的设计方案就是将古瓷器分门别类,然后创建若干对象,每个对象负责处理一类古瓷器的鉴定。为了能更好地组织这些醋则鉴定古瓷器的对象,可以将这些方案组成一个责任链,当原创 2017-08-27 21:34:15 · 248 阅读 · 0 评论 -
外观模式
概括为系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。概述一个大的系统一般都有若干个子系统构成,每个子系统包含多个类,这些类协同合作为用户提供所需要的功能。一个客户程序中的某个类实例如果直接和子系统的多个类的实例打交道完成某项任务,就使客户程序的某个类和子系统有过多的依赖关系。感觉就是提供一个统一的交互界面类 由该类来调用子系统中的类来提供原创 2017-08-29 11:03:22 · 373 阅读 · 0 评论