Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/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
Oop 哪种设计模式允许执行对象的延迟更新?_Oop_Design Patterns - Fatal编程技术网

Oop 哪种设计模式允许执行对象的延迟更新?

Oop 哪种设计模式允许执行对象的延迟更新?,oop,design-patterns,Oop,Design Patterns,我有一些类的层次结构。我想实现此层次结构中任何实例的延迟更新。换句话说,我们应该只在使用对象的任何公共方法的情况下更新对象。允许实现这种行为的最佳设计模式是什么 以下是此类情况的一个简单示例: 我有一个复杂的模型,无法更新视图(出于性能目的)。因此,在访问视图的任何公共方法时,视图应自动更新自身。设计模式很少用于性能目的。相反,您打破了一种模式以获得更好的性能 要侦听您使用Observer的模型中的更改 要在调用方法时执行某些操作,可以使用代理。设计模式很少用于性能目的。相反,您打破了一种模式以

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

以下是此类情况的一个简单示例:


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

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

要侦听您使用Observer的模型中的更改


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

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

要侦听您使用Observer的模型中的更改

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

与什么相关

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

与什么相关


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

我将延迟更新解释为延迟加载。在这种情况下,听起来你是在描述。代理用于控制对另一个对象或资源的访问,而

…推迟其全部成本 创建和初始化,直到我们实际需要使用它


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

我将延迟更新解释为延迟加载。在这种情况下,听起来你是在描述。代理用于控制对另一个对象或资源的访问,而

…推迟其全部成本 创建和初始化,直到我们实际需要使用它


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

使用代理设计模式。它控制对原始对象的访问,允许您在请求到达原始对象之前或之后执行。 有关更多信息,请参阅下面的链接
使用代理设计模式。它控制对原始对象的访问,允许您在请求到达原始对象之前或之后执行。 有关更多信息,请参阅下面的链接

但在我的例子中,模型无法将其更改通知视图。这是我的架构的弱点,但在我的例子中,模型不能通知视图它的更改。这是我架构的弱点是的,这正是我的意思是,这正是我的意思