是否使用企业库?

时间:2010-11-04 18:53:37

标签: architecture frameworks enterprise-library soa soap-client

我正在使用基于多层SOA的企业应用程序以及每个复杂的业务逻辑。许多业务验证需要来自数据库的大量支持数据,这会降低性能。并发用户数约为1000。 客户端是多层的WinForms。

我们正在考虑几乎所有的企业库块。

  • 缓存应用程序块
  • 数据访问应用程序块
  • 异常处理应用程序块
  • 记录应用程序阻止
  • 政策注入申请阻止
  • 安全应用程序块
  • Unity应用程序块
  • 验证申请阻止

    1. 企业图书馆是正确的方法吗?
    2. 请建议您认为更好的图书馆/框架,但要考虑告诉他们哪个更好。
    3. 将企业库与其他库混合是不是不好的做法?例如,我们考虑使用log4net进行日志记录。

2 个答案:

答案 0 :(得分:5)

在我看来,企业库所做的大部分工作都有更好的工具。

  • 数据访问块

    我承认自从我在一个项目上使用EntLib已经有几年了,但是我记得Data Block在它提供的内容方面非常有限。功能齐全的ORM就像NHibernate或Entity Framework,甚至像SubSonic这样的查询工具提供更多。我工作的每个项目都没有使用NHibernate,我最终实现了NHib在“盒子里免费”的功能。

  • 缓存应用程序块

    使用带缓存的ORM将涵盖缓存块所做的大部分工作。

  • 异常处理阻止

    从这里开始有一些好主意,但概念可以大大改进。 Rinat Abdullin在leveraging action policies for exception handling上有一些很好的开始信息。

  • 记录应用程序块

    使用NLog或log4net。期。如果您需要外观,请使用Simple Logging FacadeCommon.Logging。记录是一个非常有限的明确定义的组件。框架几乎相同且稳定。不需要过于复杂。

  • 政策注入& Unity Block

    研究DI / IoC并选择一个。不可能出错。这是a good list的一个要考虑的问题。

  • 安全&验证块

    此时,我们已经为这么多的EntLib找到了更好的选择,将它作为一个依赖项来支持安全性或验证感觉很重。同样,还有很多其他工具可以帮助确保安全性(Rhino Security)和验证(xValLokad

答案 1 :(得分:3)

我已经使用过(企业库的旧版本)一段时间并且没有任何问题。

我认为使用一组有凝聚力的库肯定有一个优势,而不是拼凑出一些库的补丁(如果你将要使用很多)。

我发现日志块非常好 - 它是高度可配置的,如果你使用它很好,你将能够全面,灵活地进行日志记录。