【问题标题】:Where do I put Model that is used in multiple modules in Prism application?在 Prism 应用程序的多个模块中使用的模型应该放在哪里?
【发布时间】:2011-12-21 09:28:45
【问题描述】:

从以下关于 prism 的指南和阅读手册看来,一般过程似乎是创建一个包含视图、视图模型和模型的模块。然后将视图与视图模型挂钩,并使用视图模型与模型进行交互。

但是,我有一个模型数据结构,需要跨多个不同的模块使用。比如说,这个模型叫做 Car。我有 3 个模块,ModuleA、ModuleB 和 ModuleC,它们都需要使用 Car。如果它只是在 ModuleA 中使用,我显然会把它放在 ModuleA 的 Model 文件夹中。但是由于它在多个模块中使用,我将 Car 放在哪里?

【问题讨论】:

    标签: c# wpf prism


    【解决方案1】:

    只需将它放在一个单独的程序集中,所有其他需要它的程序集都会引用它。 并不是因为您使用的是 Prism,所以好的实践规则突然发生了变化。如果需要,可以使用 MEF 或 Unity 导出 Car 的实例(或单个共享实例)。或者更进一步,声明一个接口 ICar 并让你的模块直接使用它而不是 Car。

    【讨论】:

      【解决方案2】:

      你可以把它放在基础设施项目中(被所有模块引用)或创建一个共享库项目,你将在所有模块中引用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-03-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多