模式简介 允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。 在某些情况下,一个对象的行为取决于它当前所处的状态,当对象属性(状态)在系统运行过程中发生变化,它呈现出的行为也随之发生改变。例如可调节亮度的台灯...
阅读(19) 评论(0)
模式简介 提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露该对象的内部表示。 一个聚合对象,应该提供一个方法让用户访问它的元素,并且不暴露其内部结构。遍历的方式可能多种多样,我们不希望在这个聚合类中定义各种遍历的方法。这种...
阅读(18) 评论(0)
模式简介 给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 顾名思义,解释器模式就是定义一种语法,并提供一个解释器,客户端可以使用该解释器来解释这个语句来解决问题。例如写文档常用的M...
阅读(18) 评论(0)
模式简介 将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录日志,以及支持可撤销的操作。 在一些系统功能设计的时候,需要向某个对象发送请求,但是并不知道请求的接收者以及被请求的具体操作,而是在程序运...
阅读(28) 评论(0)
模式简介 使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一个链,并沿着链传递该请求,直到有一个对象处理它为止。 职责链模式使一种行为型模式,它包括命令对象以及一系列处理对象。每个处理对象决定...
阅读(18) 评论(0)
模式简介 为其他对象提供一种代理以控制对这个对象的访问。 在一些情况下,客户端不能或者不想直接引用一个对象,可以借助一个第三方代理来实现间接引用。代理对象在客户端和目标对象之间起到中介作用,通过代理对象,可以去掉客户不能看到的内容...
阅读(18) 评论(0)
模式简介 运用共享技术有效地支持大量细粒度地对象。 通常情况下,面向对象技术可以增强系统地灵活性及可扩展性,在系统开发过程中,我们会不断地增加类和对象。当对象数量过多时,将会带来系统开销过高、性能下降等问题。享元模式通过共享相同或...
阅读(21) 评论(0)
模式简介 为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层的接口,这个接口使得这一子系统更加容易使用。 将一个系统拆分成若干个子系统,有利于子系统具有较强地可重用性,也更容易对子系统进行定制。但是与此同时增加...
阅读(36) 评论(0)
模式简介 动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。 装饰者模式又叫包装器模式(Wrapper),它是一种结构型模式。如果一定要一句话或者一件事物来形容,我觉得使用下图来表示这...
阅读(35) 评论(0)
模式简介 将对象组合成树形结构以表示“部分-整体”的层次结构,Composite使得用户对单个对象和组合对象的使用具有一致性。 Composite模式的定义中有两个关键词:树形结构和一致性。作为一种结构型模式,Composite模...
阅读(41) 评论(0)
模式简介 将抽象部分与它的实现相分离,使它们都可以独立地变化。 桥接模式是一种结构型模式,又称柄体模式(Handle and Body)或接口模式(Interface)。 想象下面这幅图,由英文字母组成,每个字母可以有不同的颜色。...
阅读(34) 评论(0)
模式简介 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的类可以一起工作。 Adpater模式又叫包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型...
阅读(32) 评论(0)
前言 可扩展标记语言(Extensible Markup Language,XML)是一种标记语言,它定义了一组规则,用于以人和机器都可以理解的格式对文档进行编码。下面是一个简单的XML示例: <note> <to&...
阅读(24) 评论(0)
单例模式 模式简介 保证一个类仅有一个实例,并提供一个访问它的全局访问点 简单来说,让类自己负责保存它的唯一实例(静态私有变量),通过使用受保护的构造函数来保证没有其他实例可以被创建,并且提供一个访问该实例的公有方法(公有的静态方法...
阅读(33) 评论(0)
原型模式 模式简介 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 通俗来说,原型模式就是从一个对象,通过复制的手段去创建另外一个对象,而且不需要知道任何创建的细节。 思考:这么做有什么好处? 省略创建者类。例如...
阅读(29) 评论(0)
1 2 下一页共2页  到第