将UI(设计器/编辑器)逻辑与Package框架(如Visual Studio Package)分开的最佳方法是什么?

时间:2008-10-01 16:14:00

标签: visual-studio user-interface vsx

我想在这里分开关注。创建自定义XML设计器,对象模型,验证等的所有UI逻辑并将其嵌入到单独的程序集中。然后Package框架应该只注册设计器信息并要求UI服务,一切都神奇地工作。

这样,当我需要修改UI设计器时,我不需要使用Package框架(Visual Studio Package)程序集。

这个问题也适用于你必须将UI逻辑与加载它的Skeleton框架分开的任何事情,比如插件。

我有多个选择ServiceProvider模型,插件模型或可能是其他模型。

欢迎任何样品,图案建议,链接。

更新1:我正在寻找的是一个想法,例如 - “Prism(复合WPF)是否符合要求?有没有人在项目/应用程序上工作,就像我上面提到的那样分离关注点?等等” (我仍然在寻找答案)

3 个答案:

答案 0 :(得分:2)

我创建了一个加载编辑器的VSPackage。编辑器位于一个单独的程序集中,并实现了我定义的接口。 VSPackage与接口一起使用,因此只要我不更改接口,我对编辑器(及其程序集)所做的任何更改都不会影响VSPackage。

答案 1 :(得分:1)

您对接缝的要求非常类似于MVC模式试图强制执行的关注点的分离。

ASP.NET MVC已经出现preview 5

它主要用于网络,但我认为他们也计划将它用于WinForms,但我不确定。

答案 2 :(得分:0)

我更喜欢Model View Presenter模式