行为型模式:迭代器模式&中介者模式&备忘录模式

#设计模式#

迭代器模式(Iterator Pattren)


  • 一个聚合对象,如一个列表(List)或者一个集合(Set),应该提供一种方法来让别人剋访问它的元素,而有不需要暴露它的内部结构。此外,针对不同的需要,可能还要以不同的方式遍历整个聚合对象,但是我们并不希望在聚合对象的抽象层接口中充斥着各种不同遍历的操作。在迭代器模式中,提供一个外部的迭代器来对聚合对象进行访问和遍历,迭代器定义了一个访问该聚合元素的接口,并且可以跟踪当前遍历的元素。
  • 电视机遥控器就是一个迭代器实例,通过它可以实现对电视机频道集合的遍历操作。



中介者模式(Mediator Pattern)


  • 用一个中介对象来封装一系列的对象交互,中介对象使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立的改变它们之间的交互。
  • 如某系统欲增加一个虚拟聊天室,允许论坛会员通过该聊天室进行信息交流,普通会员可以给其他会员发送文本信息,钻石会员既可以发送文本信息也可以发送图片信息。该聊天室可以对不雅文字进行过滤,如“日”等自负;还可以对发送的图片进行大小控制。



备忘录模式(Memento Pattern)


  • 在不破会封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存状态。并且这个这个状态不能被这个对象和负责人以外的对象访问。
  • 如某系统提供了用户信息操作模块,用户可以修改自己的各项信息。为了使操作过程更佳人性画,现使用备忘录模式对系统进行改进,使得用户在进行了错误的操作之后可以恢复到之前的状态。



0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
下载 APP