6

我有一个带有几个模块的 WPF prism 桌面应用程序。过去,我将所有本地化资源放在基础设施程序集中的公共资源文件中,并在所有模块中引用它。

但最近我一直在想,从维护的角度来看,这是否确实是正确的方法。从本质上讲,它也打破了模块化。从长远来看,在模块本身中包含模块特定的资源文件会是更好的方法吗?

所有的想法都表示赞赏。

4

2 回答 2

5

就 Prism 的主要目标之一是模块化而言,将您的资源仅放在适当的组件中似乎很明显。通过一个集中式组件共享资源与模块化相反。在您想要添加更多(可选)模块时,以集中方式执行此操作将为您带来另一种类型的 DLL 地狱。您将不得不在不了解使用该程序集的模块的情况下更新通用程序集。并且确定存在哪个模块再次违反了模块化本身。另一种方法是始终将通用程序集更新到最新版本。无论您做什么,遵循集中式方法都会迫使您构建所有向后兼容的模块。

这是我目前的观点。但就我现在只与 Prism 合作几周的情况而言,我不太确定我的陈述是否应该如何完成。

于 2010-10-05T14:35:32.517 回答
1

使用 Prism 时,我从来没有在各个模块之间进行引用(除非一个模块确实是另一个模块的增强)。我倾向于将共享资源、接口等放在一个“通用”程序集中,所有模块和包含外壳的程序集都引用该程序集。然后通过 IoC 容器检索实现接口的事物,并将实现放置在它“所属”的模块中。

正如你所写 - 将它们放在基础设施模块中打破了 Prism 背后的想法之一。

于 2010-10-05T11:37:36.527 回答