Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Design patterns 观察者模式如何减少耦合?_Design Patterns_Observer Pattern - Fatal编程技术网

Design patterns 观察者模式如何减少耦合?

Design patterns 观察者模式如何减少耦合?,design-patterns,observer-pattern,Design Patterns,Observer Pattern,我理解观察者模式是如何工作的,但为什么观察者模式会减少软件设计中UI和业务逻辑组件之间的耦合?减少参与者之间的耦合,因为它在主体和观察者之间引入了抽象类型“观察者” 想象一个模型(四人帮/维基百科描述中的主题,业务逻辑的家)和一个视图(观察者)。如果没有观察者,无论何时更改,模型都需要在视图上调用方法。模型将知道视图的具体类并与之耦合,以及视图所属的任何特定于UI的框架 对于观察者,模型只知道类型(抽象类或接口)观察者,因此它不耦合到具体视图

我理解观察者模式是如何工作的,但为什么观察者模式会减少软件设计中UI和业务逻辑组件之间的耦合?

减少参与者之间的耦合,因为它在主体和观察者之间引入了抽象类型“观察者”

想象一个模型(四人帮/维基百科描述中的主题,业务逻辑的家)和一个视图(观察者)。如果没有观察者,无论何时更改,模型都需要在视图上调用方法。模型将知道视图的具体类并与之耦合,以及视图所属的任何特定于UI的框架

对于观察者,模型只知道类型(抽象类或接口)观察者,因此它不耦合到具体视图