设计模式允许执行延迟更新对象

时间:2016-10-17 12:00:16

标签: oop design-patterns

我有一些类的层次结构。我想实现此层次结构中任何实例的延迟更新。换句话说,我们应该在唯一的情况下更新对象,我们将使用任何公共方法的对象。允许实现此类行为的最佳设计模式是什么?

以下是此类案例的简单示例:

我有复杂的模型,无法更新视图(出于性能目的)。因此,视图应在访问其任何公共方法时自动更新

4 个答案:

答案 0 :(得分:2)

我将短语延迟更新解释为延迟加载。在这种情况下,听起来你正在描述proxy pattern。代理用于控制对另一个对象或资源的访问,GoF提到的控制对象访问的第一个原因是,

  

...推迟其全部费用   创建和初始化,直到我们真正需要使用它。

换句话说,只有在实际调用其中一个公共方法时才能更新对象。

答案 1 :(得分:1)

设计模式很少用于性能目的。相反,你打破一种模式以获得更好的表现。

要监听模型中的更改,请使用Observer。

要在调用方法时执行某些操作,请使用代理。

答案 2 :(得分:1)

使用代理设计模式。它控制对原始对象的访问,允许您在请求进入原始对象之前或之后执行。 有关更多信息,您可以参考以下链接 https://refactoring.guru/design-patterns/proxy

答案 3 :(得分:0)

Model-view-viewmodel (MVVM)与@ vz0发布的内容有关。

在此模式中,视图观察视图模型,并相应地更新自身,允许您将GUI与数据表示分离。