摘要:
何时使用:隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的高层接口,使得这一子系统更加容易使用。为子系统中的一组接口提供一个一致的界面。可以向现有的系统添加一个接口,来隐藏系统的复杂性。1、客户端不需要知道系统内部的复杂联系,整个系统只需提供一个"接待员"即可。 2、定义系统的入口。 如何 阅读全文
posted @ 2016-06-27 18:26
_Doing
阅读(146)
评论(0)
推荐(0)
摘要:
何时使用:保持接口,增强性能。为了扩展一个类经常使用继承方式实现,由于继承为类引入静态特征,并且随着扩展功能的增多,子类会很膨胀,在不想增加很多子类的情况下扩展类,动态地给一个对象添加一些额外的职责,可以使用装饰器模式。特点:不改变原类文件、不使用继承、动态扩展。 如何解决:将具体功能职责划分,同时 阅读全文
posted @ 2016-06-27 18:25
_Doing
阅读(208)
评论(0)
推荐(0)
摘要:
享元模式 何时使用: 1、系统中有大量对象。 2、这些对象消耗大量内存。 3、这些对象的状态大部分可以外部化。 4、这些对象可以按照内蕴状态分为很多组,当把外蕴对象从对象中剔除出来时,每一组对象都可以用一个对象来代替。 5、系统不依赖于这些对象身份,这些对象是不可分辨的。主要解决:在有大量对象时,有 阅读全文
posted @ 2016-06-27 18:25
_Doing
阅读(152)
评论(0)
推荐(0)
摘要:
何时使用:系统可能有多个角度分类,每一种角度都可能变化。在有多种可能会变化的情况下,用继承会造成类爆炸问题,扩展起来不灵活。 如何解决:需要一个作为桥接的接口/抽象类,多个角度的实现类依赖注入到抽象类,使它们在抽象层建立一个关联关系,能把这种多角度分类的实现类分离出来,让它们独立变化,减少它们之间耦 阅读全文
posted @ 2016-06-27 18:24
_Doing
阅读(381)
评论(0)
推荐(0)
摘要:
代理模式 何时使用:想在访问一个类时做一些控制。为其他对象提供一种代理以控制对这个对象的访问。 关键代码:增加中间层(代理层),代理类与底层实现类实现共同接口,并创建底层实现类对象(底层实现类对象依赖注入代理类),以便向外界提供功能接口。 优点: 1、职责清晰。 2、高扩展性。 3、智能化。 缺点: 阅读全文
posted @ 2016-06-27 18:23
_Doing
阅读(120)
评论(0)
推荐(0)
摘要:
责任链模式 何时使用:在处理消息的时候以过滤很多道。避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接 阅读全文
posted @ 2016-06-27 18:23
_Doing
阅读(1067)
评论(0)
推荐(0)
摘要:
解释器模式 何时使用:如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言中的句子。这样就可以构建一个解释器,该解释器通过解释这些句子来解决该问题。给定一个语言,定义它的文法表示,并定义一个解释器,这个解释器使用该标识来解释语言中的句子。这种模式被用在 SQL 阅读全文
posted @ 2016-06-27 18:23
_Doing
阅读(109)
评论(0)
推荐(0)
摘要:
命令模式 何时使用:在某些场合,比如要对行为进行"记录、撤销/重做、事务"等处理,这种无法抵御变化的紧耦合是不合适的。在这种情况下,应将"行为请求者"与"行为实现者"解耦。 如何解决:调用者依赖命令,命令依赖接收者(即:接收者依赖注入到命令,特定的接收处理者与相对应的命令绑定;命令依赖注入到接收者) 阅读全文
posted @ 2016-06-27 18:22
_Doing
阅读(249)
评论(0)
推荐(0)
摘要:
迭代器模式 Java 和 .Net 编程环境中非常常用的设计模式。用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。 何时使用:用于遍历一个聚合对象,提供一种方法顺序遍历访问一个聚合对象中各个元素, 而又无须暴露该对象的内部表示。: 1、访问一个聚合对象的内容而无须暴露它的内部表示。 2、需 阅读全文
posted @ 2016-06-27 18:22
_Doing
阅读(186)
评论(0)
推荐(0)
摘要:
中介者模式 何时使用:多个类相互耦合,形成了网状结构。对象与对象之间存在大量的关联关系,这样势必会导致系统的结构变得很复杂,同时若一个对象发生改变,我们也需要跟踪与之相关联的对象,同时做出相应的处理。中介者模式可以处理不同类之间的通信,支持松耦合,用来降低多个对象和类之间的通信复杂性使代码易于维护: 阅读全文
posted @ 2016-06-27 18:22
_Doing
阅读(127)
评论(0)
推荐(0)

浙公网安备 33010602011771号