我有一个带有几个模块的WPF prism桌面应用程序。在过去,我将所有本地化资源放在基础架构程序集中的公共资源文件中,并在所有模块中引用它。
但是最近我一直在想,从维护的角度来看,这确实是正确的方法。从本质上讲,它也有点打破模块化。从长远来看,模块中的模块特定资源文件本身是一种更好的方法吗?
所有的想法都很受欢迎。
答案 0 :(得分:5)
就Prism的主要目标之一是模块化而言,将资源仅用于适当的装配似乎是显而易见的。通过一个集中组件共享资源与模块化相反。 在您想要添加更多(可选)模块时,以集中方式执行此操作将获得另一种类型的DLL地狱。您必须在不了解使用该程序集的模块的情况下更新公共程序集。确定哪个模块再次存在违反了模块化本身。另一种方法是始终将公共程序集更新为最新版本。 无论您做什么,遵循集中式方法都会迫使您构建所有模块向后兼容。
这是我此刻的观点。但就我现在与Prism工作仅几周而言,我不太确定我的陈述是否应该如何完成。
答案 1 :(得分:1)
使用Prism时,我从不在各个模块之间有引用(除非一个模块确实是另一个模块的增强)。我倾向于将共享资源,接口等放在由所有模块和包含shell的程序集引用的“common”程序集中。然后通过IoC容器检索实现接口的内容,并将实现放置在它所属的模块中。
当你写作 - 在基础设施模块中拥有它们打破了Prism背后的一个想法。