WPF app - 模型对象放置/项目结构(在MVVM场景中)

时间:2011-03-25 18:05:06

标签: wpf mvvm model data-modeling models

我正在使用Prism v4和MEF(MVVM模式)开发一次WPF点击。我有多个模块驻留在它们自己的程序集中。

我正在试图找出放置模型对象的位置。

您是否将它们放置在主要使用它们的组件中(即使它们可以在其他组件中使用),或者您是否可以创建一个组件来容纳所有模型(以便更容易在其他程序中使用) ?我倾向于后者,但这会带来下面的下一个问题......

如何明确地分离从不同数据库/服务器填充的模型对象 - 您是将它们一起聚集在同一个程序集/命名空间中还是将它们分成不同的命名空间/程序集?我正在努力防止因为启动这个项目的错误决定而导致的问题,并且会感谢任何人的反馈。

1 个答案:

答案 0 :(得分:2)

我将模型对象放在自己的程序集中。这促进了重用和分离,因为使用与表示相关的代码“污染”模型更加困难。

至于你的第二个问题:

  

您如何明确地分离从不同数据库/服务器填充的模型对象 - 您是将它们聚集在同一个程序集/命名空间中还是将它们分成不同的命名空间/程序集?

如果您计划从多个源填充模型,我个人会将模型定义放在一个程序集中,然后在每个数据源中使用DAL(在单独的程序集中)。这使模型定义与数据访问分开,而数据访问又是表示中立的。

如果模型将始终从单个数据源填充,那么将它们保持在一起(但通过命名空间分离)可能是一个更简单的选项。