摘要:
建造者模式:可以将一个产品的内部表现与产品的生成过程分割开来。从而可以使一个建造过程具有不同的内部表现的产品对象。如果我们用了建造者模式,那么用户就只需指定需要建造的类型就可以得到它们,而具体建造的过程和细节就不需要知道了 阅读全文
摘要:
外观模式:为系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用 如何使用外观模式呢 首先、在设计初期阶段,应该要有意识的将不同的两个层分离,比如经典的三层架构,就需要考虑在数据访问层和业务逻辑层业务逻辑层和表示层的层与层之间建立的外观,这样可以为一个复杂 阅读全文
摘要:
模板方法模式:定义一个操作中的算法的骨架,而将这些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构,即可重新定义该算法的某些步骤 当我们要完成在某一细节层次一致的一个过程或者一系列步骤,但其个别步骤在更详细的层次上的实现可能不同时,我们通常考虑用模板方法模式来处理 阅读全文
摘要:
原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象,而不需要知道任何创建细节 一般在初始化的信息不发生改变的情况下克隆是最好的办法,这既隐藏了对象的创建细节,又对性能是大大的提高,就是不用重新初始化对象,而是动态的获得对象运行时的状态 阅读全文
摘要:
代理模式:为其他对象提供一种代理以控制对这个对象的访问 代理模式应用 一、远程代理 也就是为一个对象在不同的地址空间提供局部代表,这样可以隐藏一个对象存在不同地址空间的事实 二、虚拟代理 根据需要创建开销很大的对象。通过它来存放实例化需要很长时间的真实对象 三、安全代理 用来控制真实对象访问时的权限 阅读全文
摘要:
装饰模式:动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生产子类更为灵活 当系统需要更新新的功能的时候,通常是向旧的类中增加新的代码,这些新加的代码通常装饰了原有类的核心职责或者主要行为,但是这种做法的问题在于,它在主类中增加的新的字段,新的方法和新的逻辑,从而增加了主类的复杂度,就 阅读全文
摘要:
策略模式:它定义了算法家族,分别封装起来,让他们可以相互转换,此模式让算法的改变不会影响到使用算法的客户 策略模式是一种定义一系列算法的方法,从概念上来看,所有这些算法完成的都是相同的工作,只是实现不同,它可以以相同的方式调用所有的算法,减少了各种算法类与使用算法类之间的耦合 具体基本代码如下 阅读全文
摘要:
工厂方法模式,定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类 仔细观察会发现,工厂方法模式实现时,客户端需要决定实例化哪一个工厂来实现运算类,选择判断的问题还是存在的,也就是说,工厂方法把简单的工厂内部逻辑判断移到客户端代码来进行,你想要加载的功能,本来是 阅读全文