找出具有多重责任的类:
设计原则:类的每个责任都有改变的潜在区域。超过一个责任,意味着超过一个改变区域。
这个设计原则告诉我们,尽量让每个类保持单一责任。
在迭代器模式中,对象集合类不仅要完成自己的事情(管理某种聚合),还要同时承担更多的责任(例如遍历)。这是对象集合类的两个责任,违反了我们的设计原则,所以把其中的一个责任(遍历)委托给了迭代器类。
我对这个设计原则和文中的解释的理解为,设计一个类时让它保持单一原则,更多的责任让其他类来承担。
也就是把一个低内聚的类拆分开,得到的每一个类都是高内聚的类,如下图所示: