从Package框架(如Visual Studio Package)中分离UI(设计器/编辑器)逻辑的最佳方法是什么?
时间:2020-03-06 14:59:02 来源:igfitidea点击:
我想在这里分开关注。创建并将自定义XML设计器,对象模型,验证等的所有UI逻辑嵌入到单独的程序集中。然后,Package框架应该只注册设计者信息并要求提供UI服务,然后一切都会神奇地工作。
这样,当我需要修改UI设计器时,我不需要使用Package框架(Visual Studio Package)程序集。
这个问题也适用于我们需要将UI逻辑与加载它的Skeleton框架分开的任何事物,例如插件。
我有几种选择:ServiceProvider模型,插件模型或者其他。
欢迎提供任何样品,模式建议,链接。
更新1:我正在寻找一种想法,例如" Prism(复合WPF)符合要求吗?有人从事过像我上面提到的那样将关注点分离的项目/应用程序吗?等"
(我仍在寻找答案)
解决方案
我们对接缝的要求非常类似于MVC模式试图强制执行的关注点分离。
ASP.NET MVC已经可以预览了。
它主要用于Web,但我认为他们正计划将其也用于WinForms,但我不确定。
我创建了一个加载编辑器的VSPackage。编辑器位于单独的程序集中,并实现我定义的接口。 VSPackage与该接口一起使用,因此只要不更改该接口,我对编辑器(及其程序集)所做的任何更改都不会影响VSPackage。
我更喜欢Model View Presenter模式