
设计模式代码
he_wen1987
这个作者很懒,什么都没留下…
展开
-
装饰模式
装饰模式 说明:本人第一次在javaeye上发表文章,不足之处还请各位大侠多多指点在评论上多多评价,以后好改进,谢谢! 一、模式提出的背景: 动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活,需要把所需的功能按正确的顺序串联起来进行控制。 二、代码的业务背景: 一个人需要穿夸库,西装,戴帽子,...原创 2010-09-03 19:09:30 · 115 阅读 · 0 评论 -
桥接模式
一、模式提出的背景: 尽量使用合成/聚合,尽量不要使用类的继承,使用它有助于你保持每个类被封装,并被集中在单个任务上。这样类和类继承层次会保持较小的规模,并且不太可能增长为不可控制的庞然大物。将抽象的部分与它的实现部分分离,使它能够独立变化,通俗一点就是:实现系统可能有多角度分类,每一种分类都有可能变化,那么就把这种多角度分离出来让他们变化,减少他们之间的耦合。二、代码的业务背景: 有品牌手机...2010-09-03 20:30:46 · 126 阅读 · 0 评论 -
命令模式
一、模式提出 将一个请求封装为一个对象,从而使你可用不同的请求对客户惊醒参数化;请求排队或记录请求日志,以及支持可撤销操作。1、它能够较容易地设计一个命令队列; 2、在需要的情况下,可以较容易的将命令记入日志;3、允许接受请求的一方是否要否决请求二、业务逻辑背景男孩子有一个女孩子,然后女孩子要自己的男友做一列相关的事情如:买鲜花给他、陪她逛街、打...2010-09-03 21:08:42 · 118 阅读 · 0 评论 -
观察者模式
一、模式提出定义一种一对多的依赖关系,让多个观察者对象同时监听每一个主题对象。这个主题对象在状态发生变化时,会通知所有的观察者对象,使得他们能够自动更新自己二、业务逻辑 在北京奋斗8年的一个小伙,天天关注北京的房价,但是每天看房价都在不停的上涨,他非常的担心。。。三、UML图四、代码详解注意:Observer接口,Observable是java.util包里,详细的源...2010-09-03 21:34:24 · 112 阅读 · 0 评论 -
代理模式
一、模式的提出 为其他对象提供一种代理以控制对这个对象的访问。其实,observer也是一种代理模式二、业务背景 要测试一个方法运行了多长时间怎么测试?要给一个方法记录日志文件怎么记录?怎样动态的设置该方法(是先记录日志文件、还是先测试运行该方法多长时间)的先后顺序,本文以测试坦克方法为例三、UML图四、代码详解测试方法的接口package com.hewen...2010-09-03 23:39:31 · 119 阅读 · 0 评论 -
责任链模式
一、模式提出 当客户提交一个请求时,请求沿链传递直至有一个具体的操作对象负责处理它。这样就使得接收着和发送者都没有对方明确信息,且链中的对象自己也不知道链中的结构。结果是职责链可简化对象的相互连接,他们仅需保持一个指向其后继者的引用,而不需保持它所有的候选接受者的引用。这样就大大的降低了耦合度。二、业务背景有许多数字请求相关的对象处理,而且每个对象处理数字在每一范围类,请问如何设计?...原创 2010-09-04 18:59:25 · 113 阅读 · 0 评论 -
策略模式
说明:本文版本有二个版本,每个版本都不断深化的一、模式的提出它定义了算法家族,分别封装起来, 让他们之间可以互相替换,此模式让算法变化,不会影响到使用算法的客户。当不同的行为堆砌在一个类中时,就很难避免使用条件语句来选择合适的行为。将这些行为封装在一个个独立的Strategy类中,可以在使用这些行为的类消除条件语句。策略模式是一种定义一系列算法的方法,从概念上来看,所有这些算法的完成的...原创 2010-09-04 20:55:11 · 138 阅读 · 0 评论