关闭。这个问题需要更加突出重点。它目前不接受答案。
**想改进这个问题吗?**通过编辑这篇文章更新这个问题,使它只关注一个问题。
两天前关门了。
改进这个问题
我正在使用javafx和mvvmfx构建聊天应用程序,并遇到了一些系统设计挑战。
我想避免在我的模型中使用fx可观察列表,因为我的模型可以在多线程环境中更新,而且我根本不需要我的模型依赖于javafx。
因此,模型将是简单的jdk列表,视图模型将是由视图绑定的可观察javafx列表。
但是,保持模型和视图模型同步的正确方法是什么?
例如,当新联系人被添加到模型列表中,或者联系人状态更改时,模型更改->因此视图模型也需要更改。
有一种解决办法,就像上釉的名单https://github.com/glazedlists/glazedlists,为集合提供了内置更改侦听器之类的附加功能,但感觉也不是理想的解决方案。但即使我使用它,每次它触发时,我都需要重建我的视图模型或编写一些逻辑来找出模型中的哪些项被更改以在vm中同步它。
以前有人解决过这个问题吗?请分享你的想法!提前谢谢!
1条答案
按热度按时间unftdfkk1#
这是一个非常有趣的问题,我也做了一些调查。我的结论是,在纯java环境中,React流可能是一种可行的方法。在kotlin中,您甚至可以更好地使用协作和流。