行为模式(二)

      解释器模式:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。(如果一种特定类型的问题发生的频率足够高,那么久可以考虑将问题的各个实例表述为一个简单语言中的句子。也就是说,通过构建一个解释器,该解释器解释这些句子来解决该问题)《音乐解释器》
                                             
     中介者模式:用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变他们之间的交互。(将集体行为封装一个单独的中介对象来避免耦合过大的问题。中介者负责控制和协调一组对象间的交互。中介者充当一个中介以使组中的对象不再相互显示引用,这些对象仅知道中介者,从而减少了相互连接的数目。)《安理会中介》
                                                     
      访问者模式:表示一个作用于某个对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。(该模式适用于数据结构相对稳定的系统,它把数据结构和作用于结构上的操作之间的耦合解脱开,使得操作集合可以相对自由地演化。其目的是要把处理从数据结构分离出来。其优点是增减新的操作很容易)
                             
      策略模式:定义一系列算法,把它们一个个封装起来,并且使他们可以相互替换。本模式使得算法可独立于使用它的客户而变化。(策略模式是用来封装算法的,该模式的Strategy类层次为Context定义了一系列的可供重用的算法或行为,继承有助于析取出这些算法中的公共功能。因为每个算法都有自己的类,可以通过自己的接口单独测试,简化了单元测试。)
                                                          
      备忘录模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将对象恢复到原先保存的状态。(备忘录模式比较试用于功能比较复杂的,但需要维护和记录属性历史的类,或者需要保存的属性只是众多属性中的一小部分,Original可以根据保存的Memento信息还原到前一状态)
                                        

     迭代器模式:提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的内部表示。(该模式关键思想是将对列表的访问和遍历从列表对象中分离出来并放入一个迭代器对象中,迭代器类定义了一个访问该列表元素的接口。迭代器对象负责跟踪当前的元素,并且知道哪些元素已经遍历过。

                                                  




评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值