
设计模式
文章平均质量分 85
yingrenzhe68
这个作者很懒,什么都没留下…
展开
-
设计模式概述
设计模式这个术语是由Erich Gamma等人在1990年代从建筑设计领域引入到计算机科学的。它是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。设计模式并不直接用来完成代码的编写,而是描述在各种不同情况下,要怎么解决问题的一种方案。面向对象设计模式通常以类型或对象来描述其中的关系和相互作用,但不涉及用来完成应用程序的特定类型或对象。设计模式能使不稳定依赖于相对稳定、具体依赖...原创 2013-04-29 11:35:41 · 161 阅读 · 0 评论 -
设计模式之建造者(bulider)模式
一:概述Builder模式定义: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示.Builder模式是一步一步创建一个复杂的对象,它允许用户可以只通过指定复杂对象的类型和内容就可以构建它们.用户不知道内部的具体构建细节. 在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的...原创 2013-10-13 12:03:37 · 159 阅读 · 0 评论 -
设计模式之观察者模式(Observer)
简单的说,观察者模式定义了一个一对多的依赖关系,让一个或多个观察者对象监察一个主题对象。这样一个主题对象在状态上的变化能够通知所有的依赖于此对象的那些观察者对象,使这些观察者对象能够自动更新。 观察者模式的结构 观察者(Observer)模式是对象的行为型模式,又叫做发表-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-收听者(Source...原创 2013-07-04 15:48:29 · 114 阅读 · 0 评论 -
设计模式之策略模式(Strategy)
策略模式是对算法的包装,是把使用算法的责任和算法本身分割开,委派给不同的对象管理。策略模式通常把一个系列的算法包装到一系列的策略类里面,作为一个抽象策略类的子类。用一句话来说,就是“准备一组算法,并将每一个算法封装起来,使得他们可以互换。[img]http://dl2.iteye.com/upload/attachment/0085/7032/b20b760a-ac13-3ba0-820c...原创 2013-06-13 12:38:33 · 110 阅读 · 0 评论 -
设计模式之装饰器模式(decorator)
装饰器(decorator)模式又名包装器(Wrapper)模式,它的主要用途在于给一个对象动态的添加一些额外的职责。与生成子类相比,它更具有灵活性。 有时候,我们需要为一个对象而不是整个类添加一些新的功能,比如,给一个文本区添加一个滚动条的功能。我们可以使用继承机制来实现这一功能,但是这种方法不够灵活,我们无法控制文本区加滚动条的方式和时机。而且当文本区需要添加更多的功能时,比如...原创 2013-06-16 17:28:43 · 176 阅读 · 0 评论 -
设计模式之适配器模式(Adapter)
1. 概述 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作2. 解决的问题 Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。3. 模式中的角色 客户角色(Client):与符合Target接口的对象协同。 目标接口(Target):客户所期待的接...原创 2013-06-15 16:58:30 · 92 阅读 · 0 评论 -
Spring中的设计模式
应该说设计模式是我们在写代码时候的一种被承认的较好的模式。好的设计模式就像是给代码造了一个很好的骨架,在这个骨架里,你可以知道心在哪里,肺在哪里,因为大多数人都认识这样的骨架,就有了很好的传播性。这是从易读和易传播来感知设计模式的好处。当然设计模式本身更重要的是设计原则的一种实现,比如开闭原则,依赖倒置原则,这些是在代码的修改和扩展上说事。说到底就是人类和代码发生关系的四种场合:阅读,修改,增加,...原创 2013-06-15 10:49:16 · 132 阅读 · 0 评论 -
设计模式之迭代器(Iterator)模式
迭代器(Iterator)模式,又叫做游标(Cursor)模式。GOF给出的定义为:提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的内部细节。 从定义可见,迭代器模式是为容器而生。很明显,对容器对象的访问必然涉及到遍历算法。你可以一股脑的将遍历方法塞到容器对象中去;或者根本不去提供什么遍历算法,让使用容器的人自己去实现去吧。这两种情况好像都能够解决问题。然...原创 2013-05-27 17:15:58 · 105 阅读 · 0 评论 -
设计模式之责任链模式
责任链(Chain of Responsibility)模式 责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。 GoF对职责链模式的定义为:为了避...原创 2013-05-26 15:05:30 · 84 阅读 · 0 评论 -
设计模式之代理模式
代理模式的定义:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。优点(1)职责清晰真实的角色就是实现实际的业务逻辑,不用关心其他非本职责的事务,通过后期的代理完成一件完成事务,附带的结果就是编程简洁清晰。(2)代理对象可以在客户端和目标对象之间起到中介的作用,这样起到了...原创 2013-05-20 20:28:39 · 207 阅读 · 0 评论 -
设计模式之工厂模式
[color=red] 一、工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。[/color] 工厂模式在《Java与模式》中分为三类:1)简单工厂模式(Simple Factory):不利于产生系列产品;2)工厂方法模式(Factory Method):又称为多形性工厂;3)抽象工厂模式(Abstract Fac...原创 2013-05-20 12:38:18 · 76 阅读 · 0 评论 -
设计模式之单例模式
设计模式之单例模式目的:希望对象只创建一个实例,并且提供一个全局的访问点。使用场景: 要求只能有一个实例。比如打印机服务。多个电脑或其他设备共享一个打印机,但同一时间只能有一个输出。 还有序列生成器,整个应用必须是唯一的,只能有一个实例;windows任务管理器和回收站等。 [code="java"]/**...原创 2013-04-29 17:42:30 · 101 阅读 · 0 评论 -
MVC是设计模式么?是框架么?
何为设计模式:设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代 码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。 狭义上来讲,主要源于程序员的圣经:《Design Patter...2014-10-26 00:39:16 · 288 阅读 · 0 评论