Snowberg

 
上一页 1 2 3 4 5 6 ··· 17 下一页

2012年6月20日

设计模式笔记24:访问者模式(Visitor Pattern)

摘要: 一、访问者模式的内容访问者模式(Visitor Pattern):表示一个作用于某对象结构中的各元素的操作,它使我们可以在不改变各元素的类的前提下定义作用于这些元素的新操作。访问者模式是一种对象行为型模式。对于系统中的某些对象,它们存储在同一个集合中,且具有不同的类型,而且对于该集合中的对象,可以接受一类称为访问者的对象来访问,而且不同的访问者其访问方式有所不同,访问者模式为解决这类问题而诞生。在实际使用时,对同一集合对象的操作并不是唯一的,对相同的元素对象可能存在多种不同的操作方式。而且这些操作方式并不稳定,可能还需要增加新的操作,以满足新的业务需求。此时,访问者模式就是一个值得考虑的解决方 阅读全文

posted @ 2012-06-20 22:21 Snowberg 阅读(425) 评论(0) 推荐(0) 编辑

2012年6月19日

设计模式笔记23:原型模式(Prototype Pattern)

摘要: 一、原型模式的内容原型模式(Prototype Pattern):原型模式是一种对象创建型模式,用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。原型模式允许一个对象再创建另外一个可定制的对象,无须知道任何创建的细节。原型模式的基本工作原理是通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝原型自己来实现创建过程。在面向对象系统中,使用原型模式来复制一个对象自身,从而克隆出多个与原型对象一模一样的对象。在软件系统中,有些对象的创建过程较为复杂,而且有时候需要频繁创建,原型模式通过给出一个原型对象来指明所要创建的对象的类型,然后用复制这个原型对象的 阅读全文

posted @ 2012-06-19 22:48 Snowberg 阅读(254) 评论(0) 推荐(0) 编辑

设计模式笔记22:备忘录模式(Memento Pattern)

摘要: 一、备忘录模式的内容备忘录模式(Memento Pattern):在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。它是一种对象行为型模式,其别名为Token。为了使软件的使用更加人性化,对于误操作,我们需要提供一种类似“后悔药”的机制,让软件系统可以回到误操作前的状态,因此需要保存用户每一次操作时系统的状态,一旦出现误操作,可以把存储的历史状态取出即可回到之前的状态。现在大多数软件都有撤销(Undo)的功能,快捷键一般都是Ctrl+Z,目的就是为了解决这个后悔的问题。在应用软件的开发过程中,很多时候我们都需要记录一个对象的内部 阅读全文

posted @ 2012-06-19 21:42 Snowberg 阅读(445) 评论(0) 推荐(0) 编辑

设计模式笔记21:中介者模式(Mediator Pattern)

摘要: 一、中介者模式的内容中介者模式(Mediator Pattern)定义:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式又称为调停者模式,它是一种对象行为型模式。在用户与用户直接聊天的设计方案中,用户对象之间存在很强的关联性,将导致系统出现如下问题:系统结构复杂:对象之间存在大量的相互关联和调用,若有一个对象发生变化,则需要跟踪和该对象关联的其他所有对象,并进行适当处理。对象可重用性差:由于一个对象和其他对象具有很强的关联,若没有其他对象的支持,一个对象很难被另一个系统或模块重用,这些对象表现出来更像一个不 阅读全文

posted @ 2012-06-19 21:18 Snowberg 阅读(286) 评论(0) 推荐(0) 编辑

2012年6月18日

设计模式笔记20:解释器模式(Interpreter Pattern)

摘要: 一、解释器模式的内容解释器模式(Interpreter Pattern) :定义语言的文法,并且建立一个解释器来解释该语言中的句子,这里的“语言”意思是使用规定格式和语法的代码,它是一种类行为型模式。如果在系统中某一特定类型的问题发生的频率很高,此时可以考虑将这些问题的实例表述为一个语言中的句子,因此可以构建一个解释器,该解释器通过解释这些句子来解决这些问题。解释器模式描述了如何构成一个简单的语言解释器,主要应用在使用面向对象语言开发的编译器中。二、解释器模式的结构参与者: AbstractException:抽象表达式,声明一个抽象的解释操作,这个接口为抽象语法树中所有的节点所共享。 Ter 阅读全文

posted @ 2012-06-18 22:02 Snowberg 阅读(435) 评论(0) 推荐(0) 编辑

设计模式笔记19:享元模式(Flyweight Pattern)

摘要: 一、享元模式的内容享元模式(Flyweight Pattern):运用共享技术有效地支持大量细粒度对象的复用。系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。由于享元模式要求能够共享的对象必须是细粒度对象,因此它又称为轻量级模式,它是一种对象结构型模式。Flyweight在拳击比赛中指最轻量级,即"蝇量级",有些作者翻译为"羽量级"。这里使用"享元模式"更能反映模式的用意。享元模式以共享的方式高效地支持大量的细粒度对象。享元对象能做到共享的关键是区分内蕴状态(Internal State)和外蕴状态(E 阅读全文

posted @ 2012-06-18 21:33 Snowberg 阅读(232) 评论(0) 推荐(0) 编辑

2012年6月17日

设计模式笔记18:职责链模式(Chain of Responsibility Pattern)

摘要: 一、责任链模式的内容职责链模式(Chain of Responsibility Pattern):避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。由于英文翻译的不同,职责链模式又称为责任链模式,它是一种对象行为型模式。从击鼓传花谈起击鼓传花是一种热闹而又紧张的饮酒游戏。在酒宴上宾客依次坐定位置,由一人击鼓,击鼓的地方与传花的地方是分开的,以示公正。开始击鼓时,花束就开始依次传递,鼓声一落,如果花束在某人手中,则该人就得饮酒。击鼓传花便是责任链模式的应用。责任链可能是一条直线、一个环链或者一个树结构的一部分。职责 阅读全文

posted @ 2012-06-17 20:49 Snowberg 阅读(201) 评论(0) 推荐(0) 编辑

设计模式笔记17:建造者模式(Builder Pattern)

摘要: 一、建造者模式的内容 建造者模式封装一个产品的构造过程,并允许按步骤构造。 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 建造者模式是一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容就可以构建它们,用户不需要知道内部的具体构建细节。建造者模式属于对象创建型模式。根据中文翻译的不同,建造者模式又可以称为生成器模式。对象性质的建造 有些情况下,一个对象会有一些重要的性质,在它们没有恰当的值之前,对象不能作为一个完整的产品使用。比如,一个电子邮件有发件人地址、收件人地址、主题、内容、附录等部分,而在最起码的收件人地址未被赋值之前... 阅读全文

posted @ 2012-06-17 16:57 Snowberg 阅读(316) 评论(0) 推荐(0) 编辑

设计模式笔记16:桥接模式(Bridge Pattern)

摘要: 一、桥接模式的内容桥接模式(Bridge Pattern):将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interface)模式。桥接模式将继承关系转换为关联关系,从而降低了类与类之间的耦合,减少了代码编写量。桥梁模式的用意【GOF95】在提出桥梁模式的时候指出,桥梁模式的用意是"将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化"。这句话有三个关键词,也就是抽象化、实现化和脱耦。抽象化存在于多个实体中的共同的概念性联系,就是抽象化。 阅读全文

posted @ 2012-06-17 15:50 Snowberg 阅读(284) 评论(0) 推荐(0) 编辑

设计模式笔记15:代理模式(Proxy Pattern)

摘要: 一、代理模式的内容 代理模式为另一个对象提供一个替身或占位符以访问这个对象。 给某一个对象提供一个代理,并由代理对象控制对原对象的引用。代理模式的英文叫做Proxy或Surrogate,它是一种对象结构型模式。 所谓代理,就是一个人或者一个机构代表另一个人或者另一个机构采取行动。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 一个例子就是Windows的快捷方式。快捷方式是它所引用的程序的一个代理。在某些情况下,一个客户不想或者不能直接引用一个对象,此时可以通过一个称之为“代理”的第三者来实现间接引用。代理对象可... 阅读全文

posted @ 2012-06-17 11:27 Snowberg 阅读(267) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 ··· 17 下一页

导航