首页 > 解决方案 > Unity 事件模式的代码设计建议

问题描述

我正在为我的个人项目使用 Unity C#。

我已经分离了模型和视图。我希望 View 在模型中的某些内容发生变化时自动更新。

所以我创建了一个 Action 对象,并为它添加了所有的视图更新功能。

问题是,模型中有很多领域。将事件添加到这些字段将是一项非常繁琐的工作,而且,单个变量更改将导致整个 UI 更新,这可能是对性能的巨大浪费。

但是向这些字段中的每一个添加单独的 Action 对象将是一项更加乏味的工作。

我想要的只是在更改模型时更新视图,我认为这种事件模式是我情况的最佳选择。

对我的代码设计有什么建议吗?

标签: c#unity3ddesign-patternscallback

解决方案


Unity 有一篇关于使用 ScriptableObjects 处理此类事件的精彩文章。话虽如此,Unity 使用实体组件模式,而改进 MVC 模式与 EC 和 Unity 提供的一些优化相矛盾。


推荐阅读