摘要:
问题:使用组合模式开发时,每增加一个操作,就需要在局部类和组合类的各个子类中增加对于新操作的支持,这不但会使类变得越来越臃肿,而且每次都需要对多个类的代码进行修改。 概念:访问者模式,表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。 实现: 阅读全文
posted @ 2018-09-16 23:58
疯一样的狼人
阅读(115)
评论(0)
推荐(0)
摘要:
问题:观察者模式的核心是把客户元素(观察者)从一个中心类(主体)中分离开来。当主体知道事件发生时,观察者需要被通知到。同时,我们并不希望将主体与观察者之间的关系进行硬编码。这样,观察者的代码可被重复使用,不同主体可以随意组合使用多个观察者。 概念:观察者模式定义了一种一对多的依赖关系,让多个观察者对 阅读全文
posted @ 2018-09-16 22:55
疯一样的狼人
阅读(154)
评论(0)
推荐(0)
摘要:
问题:若一味地使用类继承来解决问题,不仅需要在继承体系中创建大量的类,而且会造成代码重复。当类必须支持同一个接口的多种实现时,最好的办法常常是提取出这些实现,并将它们放置在自己的类型中,而不是通过继承原有的类去支持这些实现。 概念:它定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法 阅读全文
posted @ 2018-09-16 21:21
疯一样的狼人
阅读(142)
评论(0)
推荐(0)
摘要:
问题:解释器模式就是用“迷你语言”来表现程序要解决的问题,以“迷你语言”写成“迷你程序”来表现具体的问题,例如正则表达式就是一个很好的例子。所以,通常当有一个语言需要解释执行,并且可以将该语言中的句子表示为一个抽象语法树时,就可以使用解释器模式了。 概念:给定一个语言,定义它的文法的一种表示,并定义 阅读全文
posted @ 2018-09-16 21:04
疯一样的狼人
阅读(126)
评论(0)
推荐(0)
摘要:
问题:使用子系统的代码时,如果过于深入地调用子系统的逻辑代码,会导致代码耦合度过高,当子系统代码发生变化时,调用它的许多地方也需要进行相应的修改。为了避免这种情况的发生,我们需要为一个分层或一个子系统创建一个简单、清晰的对外接口。 概念:为子系统中的一组接口提供一个一致的界面,此模型定义了一个高层接 阅读全文
posted @ 2018-09-16 20:38
疯一样的狼人
阅读(120)
评论(0)
推荐(0)

浙公网安备 33010602011771号