Java与模式读后总结--行为模式

来源:互联网 发布:淘宝网雪纺胖妹妹长袖 编辑:程序博客网 时间:2024/05/17 06:41

行为模式

行为模式是对在不同的对象之间划分责任和算法的抽象化。行为模式不仅仅是关于类和对象的,而且是关于它们之间的相互作用。类的行为模式使用继承关系在几个类之间分配行为;对象的行为模式;使用对象的聚合来分配行为。

类的行为模式

1、模板方法模式

对象的行为模式

1、不变模式

    弱不变模式:一个类的实例的状态是不可变化的,但是这个类的子类的实例具有可能会变化的状态。满足以下条件:
         第一、所考虑的
对象没有任何方法会修改对象的状态,当对象的构造子将对象的状态初始化之后,对象的状态便不再改变。
         第二、所有的属
性都应当是私有的,不要声明任何公开的属性,以防客户端直接修改任何的内部状态。
         第三、这个对象
所引用到的其它对象如果是可变对象,必须设法限制外界对这些可变对象的访问,以防止外界修改。如果可能,应当尽量在不变对象内部初始化这些被引用到的对象。如果某个可变对象必须在客户端初始化,然后再传入到不变对象内部,就应当考虑在不变对象初始化的时候,将这个可变对象复制一份,而不是使用原来的对象。
    强不变模式:  一个类的实例的
状态不会变,同时它的子类的实例也具有不可变化的状态。除满足弱不变模式所要求的条件,还要满足以下条件之一:
         第一、所考虑的
类的所有的方法都应当是final。

         第二、这个类本身就及final的。

2、策略模式
3、观察者模式
4、迭代子模式 
     将迭代逻辑封装到一个独
立的迭代子对象中,从而与聚集本身分割开。迭代子对象是对遍历的抽象化,不同的聚集对象可以提供相同的迭代子对象,从而例客户端无需知道聚集的底层结构。根据对外接口宽窄不同,可以分为白条聚集与外禀迭代子、黑箱聚集与内禀迭代子。
5、责任链模式

6、命令模式
     命令模式把发出命令的责
任和执行命令的责任分割开,委派给不同的对象。
7、备忘录模式
     备忘录对象是一个用来存
储另外一个对象内部状态的快照的对象。备忘录模式的用意是在不破坏封装的条件下,将一个对象的状态捕捉住,并外部化存储起来,从而可以在将来合适的时候把这个对象还原到存储起来的状态。
8、状态模式
     状态模式允许一个对象在
其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。状态模式所研究的对象的行为包装在不同的状态对象里,每一个状对象都属于一个抽象状态类的子类。
     状态模式与策略模式的区
别:一个简单的方法便是考察环境角色是否有明显的状态和状态的过渡。如果环境角色只有一个状态,那么就应当使用策略模式。状态模式在环境类的生命周期里面,会有几个不同的状态对象被使用。
9、访问者
     访问者模式的目的是封装
一些施加于某种数据结构元素之上的操作。一旦这些操作需要修改的话,接受这个操作的数据结构则可以保持不变。
10、解释器
11、调停者

原创粉丝点击