随笔分类 -  设计模式

摘要:建造者模式: 将一个复杂对象的构建与它的表示部分分离,使得同样的构建过程可以创建不同的表示。 个人见解: 建造者模式是模版模式的加强版,每个实体类的构建更灵活。这种灵活的构建逻辑需要director来管理。模版: /** * 产品类 * @author Administrator * */public class Product { public void doSomething(){ //独立业务处理 }}/** * 抽象建造者 * @author Administrator * */public abstract class Builder { //设... 阅读全文
posted @ 2012-06-18 22:56 风叉叉 阅读(155) 评论(0) 推荐(0)
摘要:模版方法: 定义一个操作中的算法框架,而将一些步骤细节延迟到子类中实现。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。个人理解:模版方法将子类中的共有算法逻辑抽取出来定义在抽象类中,以便实现逻辑的统一管理;或者从另一个角度说,模版模式将一个规模比较大的算法分几步走,各个子逻辑由继承类实现,而抽象类定义接口和逻辑步骤。 好处:1、封装不变部分,扩展可变部分;2、提取公共部分代码,便于维护。3、行为由父类控制,子类实现模版: /** * 模版模式抽象类,将子类共有实现逻辑封装 * @author Administrator * */public abstract class... 阅读全文
posted @ 2012-06-18 15:21 风叉叉 阅读(185) 评论(0) 推荐(0)
摘要:工厂模式: define an interface for creating an object, but let sub classes decide which class to instantiate.factory method lets a class defer instantiation to subclasses.(定义一个用于创建对象的接口,让子类决定实例化哪一个类、工厂方法使一个雷的实例化延迟到了子类)模版: //抽象产品类 public abstract class Product { //产品类的公公方法 public void method1(){... 阅读全文
posted @ 2012-06-10 19:12 风叉叉 阅读(156) 评论(0) 推荐(0)
摘要:单例模式: Ensure a class has only one instance and provide a global point og access to it. public class Singleton { private static final Singleton SINGLETON = new Singleton(); private Singleton(){ } public static Singleton getSingleton(){ return SINGLETON; } public static void d... 阅读全文
posted @ 2012-06-10 11:11 风叉叉 阅读(154) 评论(0) 推荐(0)
摘要:策略模式:define a family of algorithms,encapsulate each one,and make them interchangeable.策略模式三个角色: context:上下文角色,起承上启下封装作用,屏蔽高层模块对策略、算法的直接访问,封装可能存在的变化、 strategy:抽象策略角色,策略、算法家族的抽象、接口,定义每个策略或算法必须巨涌的方法和属性。 concreteStrategy:具体策略角色。 模版: public interface Stategy(){ public void doSomething(); } ... 阅读全文
posted @ 2012-06-10 10:55 风叉叉 阅读(140) 评论(0) 推荐(0)
摘要:单一职责原则:简称SRP,指有且仅有一个原因引起类的变更。在设计类的时候尽可能使类的接口简单、清晰,职责分明;而类则尽量做到只有一个原因引起变化。这里强调的是类的内在逻辑简洁性。里氏替换原则:所有引用基类的地方必须能透明地使用其子类的对象。这里从继承角度讲多态的条件,子类必须实现父类的所有方法,并且子类可以进行扩展。注:子类在覆写父类的方法时输入参数可以被放大,输出结果可以被缩小。依赖倒置原则:本质上是通过抽象(接口、抽象类)使各个类或模块之间实现彼此独立,减少相互影响,即面向接口编程(OOD).注:类之间的依赖可以通过构造函数、setter方法或者接口注入传递。接口隔离原则:指建立单一接口, 阅读全文
posted @ 2012-05-07 00:05 风叉叉 阅读(172) 评论(0) 推荐(0)