文件名称:使用情况-vue不通过路由直接获取url中参数的方法示例
文件大小:1.31MB
文件格式:PDF
更新时间:2024-06-27 12:17:26
java 设计模式 单例模式 工厂模式
四、使用情况 GOF 给出了以下使用观察者模式的情况: 1) 当一个抽象模型有两个方面, 其中一个方面依赖于另一方面。将这二者封装在独立 的对象中以使它们可以各自独立地改变和复用。 2) 当对一个对象的改变需要同时改变其它对象, 而不知道具体有多少对象有待改变。 3) 当一个对象必须通知其它对象,而它又不能假定其它对象是谁。换言之, 你不希望 这些对象是紧密耦合的。 五、我推你拉 观察者模式在关于目标角色、观察者角色通信的具体实现中,有两个版本。一种情况便 是目标角色在发生变化后,仅仅告诉观察者角色“我变化了”;观察者角色如果想要知道具体 的变化细节,则就要自己从目标角色的接口中得到。这种模式被很形象的称为:拉模式—— 就是说变化的信息是观察者角色主动从目标角色中“拉”出来的。 还有一种方法,那就是我目标角色“服务一条龙”,通知你发生变化的同时,通过一个参 数将变化的细节传递到观察者角色中去。这就是“推模式”——管你要不要,先给你啦。 这两种模式的使用,取决于系统设计时的需要。如果目标角色比较复杂,并且观察者角 色进行更新时必须得到一些具体变化的信息,则“推模式”比较合适。如果目标角色比较简单, 则“拉模式”就很合适啦。