作者归档
JAVA中的命令模式实例教程
原文链接 作者:Pankaj Kumar 译者:f0tlo <1357654289@qq.com>
命令模式是一种行为模式,因此,它处理的是对象的行为。命令模式为系统中不同的对象提供中性化的交流媒介。根据GoF的定义,命令模式是:
通过封装一组完全不相关的对象相互之间的的交互及通讯来完成松耦合。 允许某一个对象的行为的变化是独立于其他对象的。
在企业级应用中,命令模式是非常有用的,它使得多个对象可以相互交流。如果一些对象与另一些对象直接交流,系统组件之间是紧耦合的方式。这种方式导致系统具有更高的可维护性,可扩展的灵活性变得很低。命令模式专注于提供一个调解人介于需要交流的对象之间来帮助完成对象间的松耦合。
阅读全文
JAVA中的观察者模式实例教程
原文链接 作者:Pankaj Kumar 译者:f0tlo <1357654289@qq.com> 校对:方腾飞
观察者模式是一种行为设计模式。观察者模式的用途是,当你对一个对象的状态感兴趣,希望在它每次发生变化时获得通知。在观察者模式中,观察另外一个对象状态的对象叫做Observer观察者,被观察的对象叫着Subject被观察者。根据GoF规则,观察者模式的意图是:
定义对象之间一对多的依赖关系,一个对象状态改变,其他相关联的对象就会得到通知并被自动更新。
JAVA中的备忘录模式实例教程
原文链接 作者:Pankaj Kumar 译者:f0tlo <1357654289@qq.com>
备忘录模式是一种行为模式。备忘录模式用于保存对象当前状态,并且在之后可以再次使用此状态。备忘录模式实现的方式需要保证,被保存的对象状态不能被对象从外部访问,目的为了被保存的这些对象状态的完整性。
阅读全文
Java中的策略模式实例教程
原文链接 作者:Pankaj Kumar 译者:f0tlo <1357654289@qq.com>
策略模式是一种行为模式。用于某一个具体的项目有多个可供选择的算法策略,客户端在其运行时根据不同需求决定使用某一具体算法策略。
策略模式也被称作政策模式。实现过程为,首先定义不同的算法策略,然后客户端把算法策略作为它的一个参数。使用这种模式最好的例子是Collection.sort()方法了,它使用Comparator对象作为参数。根据Comparator接口不同实现,对象会被不同的方法排序。详细介绍请看java中的排序对象。
Java中的状态模式实例教程
原文链接 作者:Pankaj Kumar 译者:f0tlo <1357654289@qq.com>
状态模式是一种行为设计模式。适用于当对象的内在状态改变它自身的行为时。
如果想基于对象的状态来改变自身的行为,通常利用对象的状态变量及if-else条件子句来扮演针对对象的不同行为。状态模式Context(环境)和State(状态)分离的方式既保证状态与行为的联动变化,又使得这种变化是条理明晰且松耦合的。
java中的访问者模式 – 例子辅导
原文链接 作者:Pankaj Kumar 译者:f0tlo <1357654289@qq.com>
访问者模式是一种行为设计模式。访问者模式被用在针对一组相同类型对象的操作。优点是,可以把针对此对象的操作逻辑转移到另外一个类上。
阅读全文
Java中的模板模式
原文链接 作者:Pankaj Kumar 译者:f0tlo <1357654289@qq.com>
模板模式是一种行为设计模式,它的实现思路是,创建一个桩方法,并且定义一些步骤让子类来实现。模板方法定义了一个算法的执行步骤,或者说能够提供一种默认的实现,这种实现概括一部分子类或者全部子类的共同部分。
举一个例子帮助理解,假设提供一种造房子的算法。算法的步骤就是模拟造房子的过程:建地基、建支撑,最后添加墙和窗户 – 1. Fundation,2. Pillars,3. Walls,4. Windows。最重要的一点就是不能改变此建造过程,比如不可能在没用地基的时候就开始建造窗户。这个例子中,我们就创建了一个模板方法 – 将使用不同的方法完成对房子的建造。
为了确保子类不能重写(override)这个模板方法,应当使用final。