>[success] # 书中的总结 * 合迪米特法则 ~~~ 1.迪米特法则也叫最少知识原则,是指一个对象应该尽可能少地了解另外的对象(类似不和陌生人说话)。 如果对象之间的耦合性太高,一个对象发生改变之后,难免会影响到其他的对象,跟'城门失火,殃及池鱼' 的道理是一样的 ~~~ * 中介者优点 ~~~ 1.中介者使用的是' 合迪米特法则' 因此,中介者模式使各个对象之间得以解耦,以中介者和对象之间的一对 多关系取代了对象之间的网状多对多关系。各个对象只需关注自身功能的实现,对象之间的交互关系交给了 中介者对象来实现和维护。 ~~~ * 中介者缺点 ~~~ 1.系统中会新增一个中介者对象,因 为对象之间交互的复杂性,转移成了中介者对象的复杂性,使得中介者对象 经常是巨大的。中介 者对象自身往往就是一个难以维护的对象 2.在程序中,中介者对象要占去一部分内存。 ~~~ >[danger] ##### 使用中介者模式的建议 ~~~ 1.中介者模式可以非常方便地对模块或者对象进行解耦,但对象之间并非一定需要解耦。在实 际项目中,模块或 对象之间有一些依赖关系是很正常的 2.如果对象之间的复杂耦合确实导致调用和维护出现了困难,而且这些耦合度随项目的变化呈指数 增长曲线, 那我们就可以考虑用中介者模式来重构代码。 ~~~