.net - 自定义 MVVM 实现 Vs。 Prism

标签 .net wpf mvvm frameworks prism

这个问题的灵感来自这个封闭的问题:

What does Prism actually offer the developer? And is it worth it?

我已经在企业应用程序中实现了我自己的自定义 MVVM 实现。我有兴趣了解:

  • 我为什么要学习 PRISM(特别是 PRISM,而不是其他 MVVM 框架)?
  • PRISM 相对于自定义 MVVM 实现的优势和
  • 投资学习 PRISM 是否值得?

  • 我希望这个问题不是主观的,请大家不要争论:)

    最佳答案

    与许多为您执行常见任务的框架一样,您将获得:

  • 经更多眼球测试 : 不仅仅是你自己。这(希望)包括单元测试,您在构建自己的框架时可能会或可能不会进行单元测试。
  • 对其他开发人员更具可读性 :没有其他人对您的自定义 MVVM 框架有经验。但是,如果其他开发人员加入您的项目,或加入您的团队,或加入您的公司,他们可以直接跳入 Prism 代码。
  • 更好的文档 :同样,任何新加入的人都可能必须通过从您的大脑和团队中的任何其他用户那里手动收集集体知识并查看源代码来学习绳索。第三方框架有自己的文档,互联网上还有更多的博客文章。
  • 更好的社区 :你可以在 StackOverflow 上提问“我如何用 Prism 做 X”?你不能用你的自定义框架来问这个。
  • 可能更有能力 :需要为更多用户提供服务,而不仅仅是您/您的团队,因此将添加更多功能。如果您需要做一些您以前从未做过的与 MVVM 相关的事情,那么您自己的 MVVM 框架可能没有内置对它的支持。但它很可能在 Prism 中。
  • 更好的结构 :假设你想做一些与 MVVM 相关的事情,但它不在 Prism 中。很有可能,这是有充分理由的!如果某些东西不在为在给定领域工作而制定的(合理成熟的)框架中,则表明您正在尝试采用一种不自然或笨拙的方式来解决问题。使用你自己的框架,很容易说“哦,我会添加那个功能”,然后 6 个月后意识到你犯了一个巨大的错误,因为这个新功能使你的代码很难遵循或最终成为很多向量错误或诸如此类。
  • 简历行项目 :对于雇用“实现并使用过自定义 MVVM 框架”的人,我会有复杂的感觉。虽然这可能意味着他们很聪明,但也可能表明可怕的“非建在这里综合症”。另一方面,将“Microsoft Prism MVVM 框架”放在一大堆技术中可能很好,但不是令人惊叹的。两全其美的是更长的要点,沿着“深入理解 MVVM 模式,通过在切换到 MVVM Prism 之前首先实现用于学习目的的玩具 MVVM 框架来实现”。是的,这三者之间的区别不会决定你的简历的成败,非内置综合症是有希望在面试中出现的,但值得记住,特别是如果你正在申请对于一个获得足够简历的地方,他们可以扔掉任何让他们稍微不安的东西。
  • 关于.net - 自定义 MVVM 实现 Vs。 Prism ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6251821/

    相关文章:

    sql-server - 设置为Null但不设置为0-int

    c# - MVVM - 绑定(bind)到聚合属性

    wpf更改日历日标题前景色

    c# - 你如何处理一个有挂起调用的线程?

    wpf - 性能缓慢的 WPF 动画。使用形状比使用 .png 更好?

    .net - 如何使用 SemanticComparison 比较两个匿名类型或两个不同类型的集合

    带有 MVVM 和 Prismv2 的 WPF - 事件冒泡?

    wcf - MVVM 中使用服务的目的

    .net - sn.exe 失败并显示拒绝访问错误消息

    c# - 使用 IronPython 和 .Net 的鼠标现状