开发 VSX 包或独立 Shell 包时最适合使用哪些模式?
当我开发一堆设计器/工具时,最适合 VSX 包和/或 VSX 隔离外壳包的模式是什么?
任何示例、链接都很棒。
When I am developing a bunch of designers/tools, what are some of the best fit patterns that go with a VSX Package and/or VSX Isolated Shell Package?
Any samples, links would be great.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您正在寻找通用设计模式,我建议您查看 演示模型用于编写自定义设计器的模式(也称为 MVP 和 MVVM)。
一般来说,所有 VSPackage(无论哪种工具)都使用 服务定位器模式(即 IServiceProvider)用于与 IDE 和其他 VSPackages 进行通信。
If you're looking for general design patterns, I would suggest looking into the Presentation Model pattern (also known as MVP and MVVM) for writing a custom designer.
In general, all VSPackages (regardless of the kind of tool) use the Service Locator pattern (i.e. IServiceProvider) for communicating with the IDE and other VSPackages.
除了 IoC 和 DI(服务定位器)之外,我在较大的包中将 IServiceProvider“替换”为 Castle(搜索 Castle 项目)以获取我自己的服务等。 然后是 MVP/MVC 或只是PresentationModel。
我倾向于使用命令模式来绑定 vsct 文件中定义的菜单项。
除此之外,我使用我认为合适的任何模式或实践,就像在常规 .NET 解决方案、工厂、构建器、观察者等中一样。
我还倾向于使用面向方面的编程来处理其他横切关注点中的异常策略(请参阅 PostSharp)
Apart from IoC and DI (Service Locator) where I on larger packages "replace" the IServiceProvider with Castle (Search for Castle Project) for my own services ect. and then MVP/MVC or just PresentationModel.
I Tend to use a Command Pattern for binding Menu items defined in the vsct file.
Besides that I Use whatever pattern or practice I see fit as I would in a regular .NET solution, factories, builders, observer, and so on.
I Also tend to use Aspect oriented programming for exception policies among other cross cutting concerns (see PostSharp)