【问题标题】:Prism - Bad idea to use it?棱镜 - 使用它的坏主意?
【发布时间】:2012-08-22 00:43:17
【问题描述】:

我一直在从 Windows 窗体迁移到 WPF,并正在尝试利用 Prism 来满足应用程序面向插件的要求。

我的问题是似乎没有支持它。我还听说在某些情况下它非常泄漏。由于我正在开发企业应用程序,这是不可接受的。

如果是这种情况,并且开始使用 Prism 是个坏主意,是否有任何替代方案来制作复合应用程序?我能想到的只有MEF。

【问题讨论】:

  • 您可以考虑查看Caliburn.Micro。它比 Prism 更轻巧,但很好地涵盖了插件功能的合成部分。

标签: wpf prism mef


【解决方案1】:

借助 Prism,您可以选择使用 Unity 和/或 MEF 作为 IoC/DI 框架……它还具有很强的可扩展性……因此您可以根据需要插入不同的 IoC 容器。

一些泄漏问题通常可以归结为不以某种方式使用 WPF,例如需要使用弱委托/弱事件模式等。

您可以使用 MEF 推出自己的插件框架,但您可能需要重新发明 Prism 已经为您做的一些事情,例如EventAggregator 等。

你可以选择一个替代框架,它们都有自己的优点和缺点。

还有另一项 Microsoft 技术旨在支持插件,即 System.AddIn/Managed Add-in Framework (MAF)....但您必须添加更多的脚手架。

这里有人提出了一个使用 MEF 的框架:

如果您想查看具有自己非常可插入/模块化架构的企业级项目,请查看 SharpDevelop 以获取灵感。

....如果您真的想要,结合多个框架的最佳部分,也并非没有可能。

【讨论】:

  • 感谢您提供的信息。我可能最终会借用其中的一些想法来构建自己的框架。
  • “如果你想看看一个企业规模的项目,他们自己非常可插入/模块化架构,那么你最好看看 SharpDevelop 来寻找灵感。”你的意思是写“你可以做得更糟”吗?事实上,听起来你在说 SharpDevelop 是最糟糕的......
猜你喜欢
  • 2018-04-28
  • 1970-01-01
  • 2021-12-15
  • 2019-09-22
  • 2021-12-05
  • 2022-01-22
  • 1970-01-01
  • 2011-02-15
  • 2011-10-21
相关资源
最近更新 更多