随笔分类 -  设计模式

摘要:中介者模式(Mediator):用一个中介对象来封装一系列的对象交互。中介者使对象不需要显示的相互引用,从而使其耦合松散,而且可以独立的改变它们之间的交互。 优点:Mediator的出现减少了各个Colleague的耦合,使得可以独立改变和复用各个Colleague类和Mediator。由于把对象如 阅读全文
posted @ 2016-04-11 22:58 偶尔会寂寞 阅读(126) 评论(0) 推荐(0)
摘要:职责链模式(Chain of Responsibility):使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 注意:一个请求极有可能到了链末都得不到处理,或者因为没有正确配置而得不到处理。 阅读全文
posted @ 2016-04-07 23:26 偶尔会寂寞 阅读(133) 评论(0) 推荐(0)
摘要:命令模式(Command):将一个请求封装成一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。 优点:1、它能较容易的设计一个命令队列;2、在需要的情况下,可以较容易的将命令记入日志;3、允许接收请求的一方决定是否要否决请求;4、可以容易的实现对请求的 阅读全文
posted @ 2016-04-07 22:23 偶尔会寂寞 阅读(165) 评论(0) 推荐(0)
摘要:/** * Created by hero on 16-4-6. */ public class Singleton { public static Singleton getInstance() { return SingletonHolder.singleton; } private static class SingletonHold... 阅读全文
posted @ 2016-04-06 22:21 偶尔会寂寞 阅读(85) 评论(0) 推荐(0)
摘要:组合模式(Composite):将对象表示成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。 希望用户可以忽略组合对象与单个对象的不同,统一的使用组合结构中的所有对象时,就应该考虑使用组合模式。 //我没写过OA系统,不能理解组合模式。 阅读全文
posted @ 2016-04-06 21:50 偶尔会寂寞 阅读(117) 评论(0) 推荐(0)
摘要:备忘录模式(Memento):在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可以恢复该对象到原先的状态。 Caretaker负责不暴露Originator的内部细节,Memento负责备忘字段。用星姐的话 完美!\\\> </// 不足:角色状态要完整存储到备 阅读全文
posted @ 2016-04-05 22:48 偶尔会寂寞 阅读(112) 评论(0) 推荐(0)
摘要:适配器模式:将一个类的借口转换成客户希望的另外一个接口。 应用场景:系统的数据和行为都正确,但接口不符时,我们应该考虑使用适配器模式,目的是使控制范围之外的一个原有对象与某个接口匹配。主要应用于希望复用一些现存的类,但是接口又与复用环境要求不一致的情况。 注意:应该注意其应用场景,不能本末倒置。 阅读全文
posted @ 2016-04-04 22:51 偶尔会寂寞 阅读(112) 评论(0) 推荐(0)
摘要:好处:将与特定状态相关的行为局部化,并将不同状态的行为分割开来。 当一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为时,就可以考虑使用状态模式。 阅读全文
posted @ 2016-04-04 22:08 偶尔会寂寞 阅读(168) 评论(0) 推荐(0)
摘要:建造者模式是在当创建复杂对象的算法应该独立于该对象的组成部分以及他们的装配方式时适用的模式。 阅读全文
posted @ 2016-04-03 16:27 偶尔会寂寞 阅读(103) 评论(0) 推荐(0)
摘要:模板方法模式就是将共同的代码提升为父类。 外观模式就是将对多个接口的调用封装成一个接口调用。 阅读全文
posted @ 2016-04-03 16:06 偶尔会寂寞 阅读(415) 评论(0) 推荐(0)
摘要:大概是java版本升级了,clone方法不严格写好像也没什么问题。 阅读全文
posted @ 2016-04-02 18:47 偶尔会寂寞 阅读(133) 评论(0) 推荐(0)
摘要:工厂方法模式与普通工厂模式相比,没有违背“开放-封闭”原则。 利用反射,可以避免修改客户端代码。 阅读全文
posted @ 2016-04-02 18:11 偶尔会寂寞 阅读(115) 评论(0) 推荐(0)
摘要:/** * Created by hero on 16-4-2. */ public interface Subject { public void interview(); } /** * Created by hero on 16-4-2. */ public class Boss implements Subject { private String intervi... 阅读全文
posted @ 2016-04-02 17:57 偶尔会寂寞 阅读(79) 评论(0) 推荐(0)
摘要:装饰模式将类的装饰功能从类中分离出来,只保留了类的核心职责,装饰逻辑(顺序)由调用者选择分配。 阅读全文
posted @ 2016-03-30 23:19 偶尔会寂寞 阅读(133) 评论(0) 推荐(0)
摘要:策略模式封装了变化。 标准策略模式: 策略与简单工厂结合: 简单工厂模式对类似“满300减200、满400减100”的变化进行有效封装,除非另外制定一套规则比如:“满减-400,100、满减-500,100”,在swich语句中只取‘-’之前的作case条件,其后跟参数,多个参数以 ‘,’分割。 策 阅读全文
posted @ 2016-03-30 00:04 偶尔会寂寞 阅读(150) 评论(0) 推荐(0)
摘要:面向对象编程永远在考虑:解藕和复用。 设计模式是前辈总结的结果,这些模式都是基于问题本身的抽象,活学活用才是王道。 //////////////////////////////////////////////////////////////////////////////////////////// 阅读全文
posted @ 2016-03-29 23:25 偶尔会寂寞 阅读(119) 评论(0) 推荐(0)