12 2011 档案

设计模式总结
摘要:Simple Factory Pattern(简单工厂模式) 优势和缺陷 在简单工厂模式中,工厂类是整个模式的关键所在。它包含必要的判断逻辑,能够根据外界给定的信息,决定究竟应该创建哪个具体类的对象。通过使用工厂类,外界可以从直接创建具体产品对象的尴尬局面中摆脱出来,仅仅需要负责“消费”对象就可以了,而不必管这些对象究竟是如何创建以及如何组织的。这样就明确区分了各自的职责和权力,有利于整个软件体系结构的优化。 不过,凡事有利就有弊,简单工厂模式的缺点也正体现在其工厂类上。由于工厂类集中了所有实例的创建逻辑,很容易违反GRASPR的高内聚的责任分配原则。将全部创建逻辑都集中到一个工厂类还有另.. 阅读全文

posted @ 2011-12-13 23:53 tLEE 阅读(6597) 评论(0) 推荐(0)

二十六.行为型设计模式——Visitor Pattern(访问者模式)
摘要:定义 说明一个操作执行于一个对象结构的成员(elements)中。访问者样式让你定义一个类的新操作而无须改变它操作的这些成员类。 UML类图如下: 其中类和对象的关系为: 1.Visitor(抽象访问者):为对象结构类中每一个ConcreteElement的类声明一个Visit操作。这个操作的名称及标志(signature)识别传出Visit请求给访问者的类。这就使得访问者可以解定正要被访问的元素的具体类,这样访问者就可以直接经由其特有接口访问到元素(Element)。 2.ConcreteVisitor(具体访问者):实现每个由Visitor声明的操作。每个操作实现本算法的一部... 阅读全文

posted @ 2011-12-13 23:28 tLEE 阅读(566) 评论(0) 推荐(0)

二十五.行为型设计模式——Template Method Pattern(模版方法模式)
摘要:定义 定义一个操作中算法的骨架(skeleton),以将一些步骤延缓到子类中实现。模版方法让子类重新定义一个算法的某些步骤而无须改变算法的结构。 UML类图如下: 其中类和对象关系为: 1.AbstractClass(抽象类):定义一个抽象原始的操作,其子类可以重定义它实现一个算法的各个步骤;实现一个模版方法定义一个算法的骨架,此模版方法不仅可以调用原始的操作,还可以调用定义于AbstractClass中的方法或其他对象中的方法。 2.ConcreteClass(具体子类):实现原始的操作以完成子类特定算法的步骤。 典型应用的顺序图如下: 实例1——数据库连接模版 下面的代... 阅读全文

posted @ 2011-12-12 23:53 tLEE 阅读(346) 评论(0) 推荐(0)

二十四.行为型设计模式——Strategy Pattern(策略模式)
摘要:定义 定义一系列算法(algorithms family),将每一个算法封装起来,并让它们可以互相替换(interchangeable)。策略模式让算法独立于使用它的客户而变化。 UML类图如下: 其中类和对象的关系为: 1.Strategy(抽象策略类):定义一个公共的接口给所有支持的算法。Context使用这个接口调用ContextStrategy定义的算法。 2.ContextStrategy(具体策略类):调用Strategy接口实现具体的算法。 3.Context(场景):用ContextStrategy对象配置其执行的环境;维护一个对Strategy的引用实例;可以... 阅读全文

posted @ 2011-12-12 23:00 tLEE 阅读(500) 评论(0) 推荐(0)

导航