JavaScript中介者模式

中介者模式

面向对象设计鼓励将行为分布到各个对象之中,把对象划分为更小的粒度,有助于增强对象的可复用性,但是由于这些细粒度对象之间的关系剧增,反过来可能会降低代码的复用性。

中介者模式的作用就是解除对象与对象之间的耦合关系增加一个中介者之后所有的相关对象都通过中介者来通信,而不是相互引用。如果当一个对象发生变化只要通知中介者即可,这样就降低了对象与对象之间的耦合性。

中介者模式是迎合迪米特法则的一种实现,迪米特法则也叫最少知识原则,是指一个对象应该尽可能少的了解其他的对象,如果对象之间的耦合度太高一个对象发生变化难免会影响到其他的对象,正所谓“城门失火殃及池鱼”,而在中介者模式中,对象几乎不知道彼此之间的存在,他们只能通过中介者对象来相互影响对方

中介者模式的一对多的关系取代了对象之间的网状关系,对象只需要关注与实现自己的功能,只想之间的相互影响关系交给了中介者来实现和维护。

但是使用中介者模式,就会增加一个新的中介者对对象,中介者对象往往是复杂的,因为他要维护大量对象之间的交互,所以中介者对象本身也是一个难以维护的对象。这需要程序员具有一点编程能力

在实际的生产过程中,往往要求的是快速的开发,而却对象之间存在一定的耦合度也是正常的,我们不必过多的考虑设计模式,但是如果对象之间的耦合度确实太高,使得程序难以维护,这时候我们就可以使用中介者模式来重构我们的代码!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章