我正在开发的软件使用了一个API,它大致具有这样的组织:(为了解析符号:),您可能需要读两遍它。
事件可以放在图形视图上,以便创建场景。
正如您所看到的,这个模型是递归的,因为您可以将一个场景放置在一个间隔中,而在这个场景中又有一个无限的间隔。
我的问题是:在“视图模型”-“演示者”-“视图”模式中,API对象和视图模型对象的所有权关系应该是什么?我应该让API管理它自己的模型对象的所有权,比如Event & Interval,还是应该在实例化相应的视图模型对象时实例化它们?有最好的做法吗?
发布于 2014-11-13 14:56:43
您可能应该让API管理自己的域对象,并在项目中根据需要将这些对象映射到自定义模型或ViewModel对象。
无论何时使用ViewModels,都要记住MVVM或MVP是UI的模式,而不是业务逻辑的模式。演示者应该调用其他类(应该被视为MVVM/MVP/MVPVM模式之外的类)来执行他们的业务逻辑。听起来,您提到的API提供了大量的业务功能;理想情况下,您的模型将特定于您的应用程序,然后将API的对象映射到您的模型对象。
将域对象(例如API提供的那些对象)用作您的模型是很常见的,有时也是一个错误,所以要小心,因为在您的Model上需要一个不是由API对象提供的属性或属性时,您会陷入困境和困惑。非常愿意将API的对象映射到只存在于应用程序或站点的自定义模型对象。
当有疑问时,请回到实心,特别是单责任原则。
希望我能正确理解你。
https://stackoverflow.com/questions/26911424
复制相似问题