美文网首页
5. 行为模式

5. 行为模式

作者: 10xjzheng | 来源:发表于2018-01-04 11:52 被阅读65次

行为模式涉及到算法和对象间职责的分配。行为模式不仅描述对象或类的模式,还描述
它们之间的通信模式。这些模式刻划了在运行时难以跟踪的复杂的控制流。它们将你的注意
力从控制流转移到对象间的联系方式上来。

行为类模式使用继承机制在类间分派行为。本章包括两个这样的模式。其中,Template Method(5.10)较为简单和常用。模板方法是一个算法的抽象定义,它逐步定义该算法,每一步调用一个抽象操作或一个原语操作,子类定义抽象操作以具体实现该算法。另一种行为类模式是Interpreter(5.3)。它将一个文法表示为一个类层次,并实现一个解释器作为这些类的一个操作。

行为对象模式使用对象复合而不是继承。一些行为对象模式描述了一组对等的对象怎样相互协作以完成其中任一个对象都无法单独完成的任务。这里一个重点的问题是对等的对象如何互相了解对方。。对等对象可以保持显式的对对方的引用,但那会增加它们的耦合度。在极端情况下,每一个对象都要了解所有其他的对象。Mediator(5.5)在对等对象间引入一个Mediator对象以避免这种情况的出现。Mediator提供了松耦合所需的间接性。

Chain Of Responsibility(5.1)提供更松的耦合。它让你通过一条候选对象链隐式的向一个对象发送请求。根据运行时刻情况任一候选者都可以响应相应的请求。候选者的数目是任意的,你可以在运行时刻决定哪些候选者参与到链中。

Observe(5.7)模式定义并保持对象间的依赖关系。典型的Observer的例子是SmallTalk中的模型/视图/控制器,其中一旦模型的状态发生变化,模型的所有视图都会得到通知。

其他的行为对象模式常将行为封装在一个对象中并将请求指派给它。 Strategy ( 5 . 9 )模式将算法封装在对象中,这样可以方便地指定和改变一个对象所使用的算法。 Command ( 5 . 2 )模式将请求封装在对象中,这样它就可作为参数来传递,也可以被存储在历史列表里,或者以其他方式使用。State ( 5 . 8 )模式封装一个对象的状态,使得当这个对象的状态对象变化时,该对象可改变它的行为。Visitor ( 5 . 11 )封装分布于多个类之间的行为,而 Iterator( 5 . 4 )则抽象了访问和遍历一个集合中的对象的方式。

相关文章

  • 5. 行为模式

    行为模式涉及到算法和对象间职责的分配。行为模式不仅描述对象或类的模式,还描述它们之间的通信模式。这些模式刻划了在运...

  • 2019-05-10

    继续昨天DISC四种行为模式的学习,今天学习的两个行为模式是:C主导行为模式和S主导行为模式 首先C主导的行为模式...

  • 行为模式10-行为模式总结

    行为模式10-行为模式总结 行为模式总共有11个设计模式: 观察者模式(Observer) 中介者模式(Media...

  • 行为模式1-观察者模式

    行为模式1-观察者模式 行为模式简介 行为模式涉及到算法和对象间职责的分配。行为模式不仅描述对象或类的模式,还描述...

  • java 策略模式

    策略模式1.策略模式简介策略模式:策略模式是一种行为型模式,它将对象和行为分开,将行为定义为 一个行为接口 和 具...

  • 简明行为模式

    后天模式:信息,思考,行为,价值 先天模式:刺激,行为

  • Swift Playgrounds 学习编程一 函数(通关代码)

    学习编程一 函数(共7关) 1.组合新行为 2.创建新函数 3.收集、切换、重复 4.尽收囊中 5.嵌套模式 6....

  • 设计模式-行为型设计模式

    //本文参考菜鸟教程设计模式主要分为三大类创建型模式,结构型模式,行为型模式,本文主要讲行为型模式行为型模式,共十...

  • 解题

    解决问题的思维模式 NLP 1.目标 2.价值观 3.能力 4.行为 5.环境 如何降低价格 提升体验 首先得理解...

  • 行为模式

    狗叹气~~抑郁了~~~因为我的原因~~我是个让人倒霉的人~~我祸害了爸妈~~~我走了,到学校祸害室友去吧!

网友评论

      本文标题:5. 行为模式

      本文链接:https://www.haomeiwen.com/subject/rxxrnxtx.html