我正在开发客户端/服务器产品。基本上,服务器会将文档传输到客户端进行编辑。客户端具有完整的 MVC 架构。文件就是模型。
现在的问题是:
- 模型中有一些计算需要服务器中的一些资源。
- 出于性能原因,模型的某些部分应该延迟加载。
一个例子是文档中的图像。打开文档时它没有加载,但是有一些东西会加载图像,一旦加载它就会让文档知道并且文档将重新计算布局。
我的问题是通信代码是模型还是控制器的一部分?或者它属于某个既不是模型也不是控制器的上下文?或者上下文属于模型?
我正在开发客户端/服务器产品。基本上,服务器会将文档传输到客户端进行编辑。客户端具有完整的 MVC 架构。文件就是模型。
现在的问题是:
一个例子是文档中的图像。打开文档时它没有加载,但是有一些东西会加载图像,一旦加载它就会让文档知道并且文档将重新计算布局。
我的问题是通信代码是模型还是控制器的一部分?或者它属于某个既不是模型也不是控制器的上下文?或者上下文属于模型?
模型层应该与数据源交互。在客户端-服务器设置的情况下,您有两个独立的三元组,客户端模型层的数据源将是服务器的表示层。
基本上,您的客户端的模型层成为服务器端的用户。
如果您能提供一些计算示例或文档对象模型会更好。
让我们突破要求:
模型中有一些计算需要服务器中的一些资源。
这种计算最好放在Model
,因为它需要来自服务器的资源。如果将逻辑放在 Controller 中,则:
出于性能原因,模型的某些部分应该延迟加载。
我不确定你的目标。但是让我们经历一下。我假设您有需要延迟加载的Header
模型。这可以通过2种方法来实现。List
Details
第一种方法是在Details
属性上实现延迟加载,第二种方法是检索Details
由特定Header
或 id 给定的列表,从存储库中检索。他们俩的结果都是一样的。恕我直言,我更喜欢第二个,因为通过以后的解决方案,您可以在其他模块中重用存储库,并使您能够选择Details
没有特定Header
的 . 位置,我相信它应该是 on Model
。
我可能会误解这个要求。