我们一起来读书吧 关注:154贴子:2,822
  • 0回复贴,共1

《设计模式》第5章 可复用面向对象软件的基础 5.4-5.5

只看楼主收藏回复

5.4 Iterator(迭代器)- 对象行为型模式
提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的内部表示。该模式的核心思想是将迭代过程(遍历元素)从容器对象中分离出来,以实现更加灵活、通用的迭代方式,让你能在不暴露集合底层表现形式 (列表、 栈和树等) 的情况下遍历集合中所有的元素。当需要访问一个聚集对象,而且不管这些对象是什么都需要遍历的时候,当需要对聚集有多种方式遍历时(如顺序遍历、逆序遍历),都可考虑用迭代器模式,来封装不同的遍历算法。为遍历不同的聚集结构提供如开始、下一个、是否结束、当前哪一项等统一的接口。很多语言已经将这个模式封装了,例如foreach in。
应用场景主要是:集合遍历,多种遍历方式,统一处理不同类型的聚合对象,隐藏复杂性,解耦遍历算法和集合。
5.5 Mediator(中介者)- 对象行为型模式
用一个中介对象来封装一系列的对象交互。终结者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。它用于解决对象间复杂、过度耦合的问题。
中介者模式一般应用于一组对象以定义良好但是复杂的方式进行通信的场合,以及想定制一个分布在多个类中的行为,而又不想生成太多的子类的场合。
应用场景主要是:用户界面事件处理,分布式架构中的服务通信,聊天室或即时通讯系统,复杂的业务逻辑处理如订单,游戏开发中的事件处理。


IP属地:北京1楼2024-11-01 16:59回复