棱镜与多模块以及模块之间的依赖关系

4

你好,我所面临的情况是我正在考虑拥有多个模块,并让这些模块相互依赖。

假设我们正在构建一个商业系统,其中一部分是发票,我们有来自不同分支机构的客户。

因此,一个行业可能想使用一些工具并以他们的方式创建发票,而另一个行业可能想以另一种方式进行。因此,我认为我们可以根据每种创建发票方法创建一个模块,这样当应用程序加载时,我们可以在配置中看到哪个模块必须加载创建发票模块。

那么,对于我的第一个问题,这是解决这个问题的方法,还是有更好的解决方案?

我的下一个问题是,我应该将它们放在树的哪个位置?

依赖于发票模块的模块应该放在发票模块下面还是同一级别下?

2个回答

0
我会首先创建一个视图引擎,根据上下文条件加载视图。这些条件可以是租户(域名)、设备、视图大小、当前主题(所有这些接口都依赖于您的视图引擎)。
也许可以使用像 DataTemplateSelector 这样的方法散布在需要定制的视图中。您可能希望像在 asp.net mvc 中一样解决视图(以便您有能力覆盖视图),基于视图搜索路径。
您需要能够加载应用程序资源租户样式以进行自定义品牌。
我建议在以上问题开始出现维护问题之前,不要创建您的细粒度依赖项。对于需要定制的业务逻辑,您可以使用策略模式。
我认为现在将其拆分并管理这些长依赖链的成本更高。实施成本较高(在良好的业务功能需要时)后来只需要几个小时的工作,使用此处所述的 ModuleInfo: Silverlight PRISM Creating a custom module catalog

0

我们选择使用模块,并将它们放置在树形结构下的依赖模块中。这样做效果非常好。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接