随笔分类 -  设计模式

读书笔记22:职责链模式
摘要:1、定义:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到对象处理它为止。 相信大家都写过if...else或者switch,当条件很多时需要写上数十行代码。如果要修改某些条件或者处理过程,就又要不断地修改这个牛叉的分支语句。这时我们可以采用职责链模式,它是将许多请求的分支或者步骤都独立出来。然后每个独立出来的部分,如果你是最终的处理那么就直接处理并结束,如果不是,那么就连接下一个处理步骤。这样就形成一个处理请求的链条。2、角色Handler——处理请求的接口。CreateHandler——实现处理请示的接口的类。它可以 阅读全文

posted @ 2012-03-26 16:53 c语言源码 阅读(205) 评论(0) 推荐(0)

读书笔记21:解释器模式
摘要:1、定义 给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。该模式很好理解就是,目的就是解释。比如说世界上的各个地区和国家的汉字各不相同,但是需要表达的意思是相同的。同样描述吃饭的,中国叫吃饭,老外叫Eat...所以解释器模式是指,在程序中,一些符号或字符等需要在特定的条件下解释成这样,在另一情况下解释成那样。2、角色这个模式角色就一个解释器,AbstractExpression——它的参数是需要解释的内容。3、模型抽象的解释操作类。 public abstract class AbstractExpression { p... 阅读全文

posted @ 2012-03-19 15:49 c语言源码 阅读(223) 评论(0) 推荐(0)

读书笔记18:命令模式
摘要:1、定义:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。[GOF 《设计模式》]2、角色Command——用来执行操作的接口。CreateCommand——将一个接收者对象绑定一个动作,并实现执行命令操作。Invoker——要求该命令执行。Receiver——知道如何实施与执行一个与请求相关的操作,任何类都可作为一个接收者。3、模型Command abstract class Command { protected Receiver receiver; public Command(Rece... 阅读全文

posted @ 2012-02-25 16:35 c语言源码 阅读(154) 评论(0) 推荐(0)

读书笔记17:桥接模式
摘要:概念将抽象部分和与之对应的实现部分分离,使它们可以独立地变化。角色Implementor—— 定义实现类的接口CreateImplementorFirst(CreateImplementorSecond)——实现Implementor接口及定义其具体实现。Abstraction——定义抽象的接口。是依据Implementor所构成的高阶操作。RefinedAbstraction—— 扩充Abstraction。程序实现模型先看看,程序的实现:Implementor public abstract class Implementor { public abstract ... 阅读全文

posted @ 2012-01-11 20:43 c语言源码 阅读(329) 评论(0) 推荐(0)

读书笔记16:组合模式
摘要:概念 将对象组合成树形结构以表示‘部分-整体’的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。角色 Component:组合中对象接口 Leaf:叶子,继承自Component Composite:分支,继承自Component 注意:这里分为透明模式和安全模式,透明模式指,叶子和分支完全继承自Component,即使没用的方法也继承下来。安全模式指,叶子和分支不是都用到的方法,在Component中不声明,至于叶子和分支谁有特殊的方法,谁自己再声明。代码模型: 这里用的是透明方式。 Component抽象类: public abstract class Compone... 阅读全文

posted @ 2012-01-09 22:29 c语言源码 阅读(212) 评论(0) 推荐(0)

导航