gpt4 book ai didi

java - MVC 与观察者模式

转载 作者:行者123 更新时间:2023-12-01 13:11:25 26 4
gpt4 key购买 nike

我正在使用 MVC 模式,该模式也使用 Observer 模式。概念如下:

________                 _________                ______________
| VIEW | -- observes --> | MODEL | <-- changes -- | CONTROLLER |
-------- --------- --------------

所以我认为我的概念非常常见。每次从Model 中观察到的对象发生更改时,View 都会进行重新创建更新。就我而言,我有很多对象非常频繁地更改,这对用户界面的性能产生了不良影响。由于对象及其呈现方式可能存在多种变化,我总是必须在更新时重新创建整个View,而不是更新特定组件。为了提高性能,我实现了一个更新 View 请求队列,以确保更新仅完成,例如最大限度。每 50 毫秒一次。这非常有效,并将性能提高到了一个很好的水平。

我现在的问题是,是否有更好的方法来处理许多暂时相互重叠的更新 View 请求。在我看来,我的解决方案是将请求排队并减少到可接受的水平,这似乎是一个糟糕的解决方法。有更好的概念吗?

最佳答案

您在图表中描绘的模式并不完全是 MVC,而是 MVVM(模型、 View 、ViewModel)。
使用队列来限制更改是一种完全有效的方法。在许多情况下,试图以比用户感知的速度更快的速度更新 View 是没有用的。

另一方面,与其每次都创建新的 View 对象可能会很昂贵。您可以应用的另一个技巧是拥有一个可变 View 部件池,根据需要,将它们重新绑定(bind)到某些模型实体,并根据需要显示或隐藏它们。根据您的具体用例,这还可以帮助您提高全局性能。

关于java - MVC 与观察者模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22832870/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com