嗨,我正处于一个场景中,我正在考虑拥有多个模块,并让模块依赖于其他模块。
假设我们正在构建一个业务系统,其中一部分是进销存,并且我们在不同的分支机构都有客户。
因此,一个行业可能希望使用某些工具并以自己的方式创建发票,而另一个行业可能希望以另一种方式进行。因此,我认为我们可以为每个创建发票方法执行一个模块,这样当应用程序加载时,我们可以在配置中看到必须加载 crate 发票模块的哪个模块。
那么我的第一个问题,这是解决这个问题的方法还是有更好的解决方案?
我的下一个问题是我应该把它们放在树的哪里?
依赖于进销存模块的模块应该放在进销存模块下还是同级?
最佳答案
我首先会创建一个 View 引擎来根据上下文条件加载 View 。 标准可以是租户(域名)、设备、 View 大小、当前主题(您的 View 引擎依赖的所有这些接口(interface))
也许使用像 DataTemplateSelector 这样的方法分散在需要自定义的 View 中。您可能希望像在 asp.net mvc 中一样处理它,以根据 View 搜索路径解析 View (以便您能够覆盖 View )。
您需要能够加载应用资源租户样式以进行自定义品牌。
我会推迟创建细粒度依赖项,直到上述内容开始显示维护问题。对于需要定制的业务逻辑,您可以使用策略模式。
我发现现在要打破它需要花费更多的前期成本,并且必须管理这些长依赖链。稍后实现的成本(在良好的业务功能需要它之后)将只需要使用 ModuleInfo 几个小时的工作,如下所述: Silverlight PRISM Creating a custom module catalog
关于具有多个模块和模块的 Prism 取决于,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2416845/