使用带有Unity Engine的MVVM模式作为前端

agi*_*iro 4 c# design-patterns mvvm unity-game-engine

我打算做一些帮助我在家里或其他地方组织任务的应用程序.为此,我需要一个数据库服务器(一个在家运行的虚拟服务器),一个后端部分(业务逻辑)和前端(视图).在学校我们通过WPF学习了MVVM,但坦率地说,我只在明确要求时使用它.有很多好处有利于Unity

  • 艺术家友好
  • 可以编译到移动,Web和桌面
  • 快速发展(至少在我的情况下)
  • 有很多我可以利用的内置功能.

现在,尽管我会像这样制作一个简单的应用程序,但有时我可能想要扩展它,改进它或完全改变一些组件.我知道如何在WPF中使用MVVM,但我对Unity实现只有一些模糊的想法,我希望有人熟练地概述.

前端(Unity)将负责声音管理,精美动画和UI本身.但UI按钮事件无法直接访问数据库,所以我想构建一些Bridge Classes.假设我想删除提醒,作为一个简单的例子.在一个OnButtonClicked()方法中,我只是调用一个BridgeClass's' PleaseDeleteThis(MyReminder)并且在该方法内部有后端解决方案实际上发现提醒id并从数据库中删除,然后将everything all right标志发送回前端应用程序,因此我知道它是成功的.我想到的是,使用这些桥接类我不必担心如果我更改数据库服务器或前端会发生什么,因为他们必须知道的是与之通信bridge.我知道这个例子已经过度简化了,但是这个关于组件完整性和MVVM模式的可行性有多大?

Mic*_*kyD 6

MVVM已被AAA软件公司成功用于构建游戏.的制造商拆船(又名家园:卡拉克的沙漠)写自己的代码,这样的观点是一个MonoBehavor我相信,VM和M分别为POCO类写入外部和独立于团结,以加速开发.他们可以拥有自己的视图,用于Unity外部的原型设计.

他们还为Unity编写了自己的调试可视化工具和属性编辑器.

https://www.youtube.com/watch?v=q9aeNtKKXeo

MVVM大概在19:18大关但我建议观看整个事情,因为那里还有其他很棒的东西.