”迪米特法则“——最少知识原则,不和陌生人说话,就是说,一个对象应当对其他对象有尽可能少的了解。talk only to your immediate friends.初衷是:降低对象之间的耦合度。

中介者模式就是迪米特法则体现的一个很好的例子。

javascript中的中介者模式——迪米特法则-LMLPHP

上面这张图其实很好的解释了中介者的作用,当程序中多个对象之前存在耦合关系时,比如购物车功能中,用户有很多的操作,任何一个操作都可能影响到其他操作的校验,如果每个操作变动时都进行其他选项的校验,那将是很复杂的一个操作维护了,但是如何引入一个中介者,里面保存所有用户操作的函数,统一的去进行处理校验,统调协作,那将会省事很多。

中介者模式中,对象之间不存在直接联系,只能通过中介者去影响对方,从而实现对象之间的解耦,但是如果对象过多,那么中介者负担的功能也会越来越庞杂,维护中介者将较困难。

【完】
色即是空,空即是色,受想行识亦复如是。

05-11 17:29