设计模式(25) - 行为型模式总结

来源:互联网 发布:dateadd sql server 编辑:程序博客网 时间:2024/05/22 01:48

行为型模式关注于对象之间在行为方面的交互。可以从如下角度来解析各种行为模式:

  • 和对象状态更新相关的模式
  • 备忘录模式关注于对象状态的备份与恢复,但不破坏对象的封装性。Memento由对象自行创建,由客户保持;客户在需要的时候利用 Memento来恢复对象状态
  • 状态模式描述了对象状态的修改如何导致对象行为的改变
  • 观察者模式引入订阅,发布机制来通知观察者关于被观察对象状态的更新;这种机制解除了对象对于观察者的依赖
  • 和对象对象方法相关的模式           
  • 模板方法模式利用了C++的多态特性,利用虚函数来定义一个稳定的算法框架,通过子类的多态性,在相同的算法框架下呈现差异化的行为
  • 策略模式把算法封装成函数对象,并利用该函数对象来配置另外一个对象,从而改变该对象的行为
  • 和集合对象遍历相关的模式
  • 迭代器模式遍历集合对象,支持不同的遍历算法,但隐藏集合的具体结构,保持了集合对象的封装性
  • 责任链模式在遍历集合对象的过程中,让集合中多个节点元素对象基于相同接口来处理一个请求,隐藏某个请求可能的多个接受者的事实
  • 访问者模式提供一个Visitor接口来遍历集合对象,保持节点元素的稳定性,但是可以灵活的扩展节点的访问方法
  • 对象之间的交互依赖:
  • 命令模式把请求封装成为一个命令对象,命令对象隐藏了命令的接受者信息(接受者类型,接收接口,接收逻辑等),消除了消息发送者和接收者直接依赖
  • 中介者模式把多个对象之间的交互关系,集中到一个中介者对象来处理。避免了对象和其他对象的直接交互,提高了对象的可重用性
行为型模式提高了对象的封装性和内聚性,降低了对象之间的耦合度。
0 0
原创粉丝点击