【问题标题】:WCSF vs MEF, What's Best For Me?WCSF 与 MEF,什么对我最好?
【发布时间】:2010-04-07 11:30:46
【问题描述】:

我正在开发一个包含许多模块(CRM、Inventory、Administration 等)的大型 Web 应用程序。我想要完成的是能够独立开发每个模块(UI、核心逻辑、数据访问逻辑等) ),然后将它们全部集成到一个核心模块中(这种集成应该只是配置文件中的更改)。例如,如果我有一个名为 Host 的核心模块,我应该能够将 CRM 模块添加到主机模块,只需将此行添加到主机的配置文件中:

我在 WCSF 上做了一些阅读,发现它可以帮助将一些模块集成在一起,但在集成这些 UI 元素方面它确实没有提供太多帮助。
一些朋友建议使用MEF来完成这项工作,但我还没有看过。
你们有什么感想?
是否有可能实现这种级别的模块化,我需要投入多少工作才能让它工作?

【问题讨论】:

  • 我建议你让你的配置条目更具体一点,比如<model name="CRM" assembly="../bin/CRM.dll" />
  • 你想明白了吗?

标签: .net mef wcsf


【解决方案1】:

这就是 MEF 所做的,并且随着它成为 .NET 4 的 BCL 的一部分,我肯定会这样做(请注意,它也以开源形式提供给 .NET 3.5 SP1)。

但是,不要期望任何工具能够让您神奇地开发松散耦合的代码。它首先是一门设计学科。您还可以使用常见的依赖注入和插件模式编写模块化应用程序,只使用简单的 BCL(尽管 DI 容器会有所帮助)。

【讨论】:

    【解决方案2】:

    当我读到这个问题时,我想:出于多种原因,我会选择 MEF 并避免 SCSF

    • MEF 实现起来非常轻量级,尤其是与 WCSF 相比
    • WCSF 有很多入门要求
    • WCSF 为典型操作增加了不必要的复杂性
    • MEF 已经有许多选择模块的方法
    • 格伦·布洛克(MEF 之父)摇滚!
    • Glen 总是让 MEF 变得更好,同时“更简单”和“更强大”。
    • MONO 小伙伴们也尝试和 MEF 一起玩
    • WCSF 是 WF 1(不是 WF 4,不是关于最近的问题,而是关于 WF 1 中的许多问题)

    但是,这一切都不算数。 WCSF 和 MEF 是不同的。这个论点对我来说听起来很不正常。

    例如,WCSF 正是为此而生的。 MEF 适用于每个模块内部的功能,例如是否更好。

    你喜欢 MVC 吗?您是否考虑过 MVC 2.0(现在的 RTM)Areas 功能?

    编辑: 请参阅这个 5 部分系列: http://blogs.msdn.com/simonince/archive/2008/06/19/wcsf-application-architecture-5-defining-modules.aspx

    编辑2 这个链接很好地处理了 IoC(这似乎是您对 MEF 的看法)和 WCSF 之间的讨论: http://theniceweb.com/?cat=45

    【讨论】:

    • 啊,MVC。不,该项目必须是一个网络表单项目,因为我们在 3rd 方控件上投入了大量资金。您似乎喜欢 MEF,但仍然说 WCSF 在我的情况下更好,您会提供文章链接或使用 WCSF 处理集成模块(包括 UI,这非常重要)的内容吗?
    猜你喜欢
    • 2010-10-06
    • 1970-01-01
    • 2011-04-11
    • 1970-01-01
    • 1970-01-01
    • 2013-08-01
    • 2011-01-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多