是否使用企业库?

发布于 2024-09-30 20:05:16 字数 435 浏览 5 评论 0原文

我正在使用一个基于 SOA 的多层企业应用程序,其中包含每个复杂的业务逻辑。许多业务验证需要来自数据库的大量支持数据,这会降低性能。并发用户数在1000人左右。 客户端是多层的,WinForms 位于顶部。

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

  • 缓存应用程序块
  • 数据访问应用程序块
  • 异常处理应用程序块
  • 日志记录应用程序块
  • 策略注入应用程序块
  • 安全应用程序块
  • Unity应用程序块
  • 验证应用程序块

    1. 企业图书馆是正确的选择吗?
    2. 请建议您认为更好的库/框架,但请考虑如何讲述它们更好的方式。
    3. 将企业库与其他库混合使用是否是一种不好的做法?例如,我们考虑使用 log4net 进行日志记录。

I'm working with a multitier SOA based enterprise application with every complex business logics. Many business validations require large amount of support data from database, which slow down the performance. The number of concurrent users are about 1000.
The client is multitier with WinForms on top.

We are considering almost all the enterprise library blocks.

  • Caching Application Block
  • Data Access Application Block
  • Exception Handling Application Block
  • Logging Application Block
  • Policy Injection Application Block
  • Security Application Block
  • Unity Application Block
  • Validation Application Block

    1. Is enterprise library right way to go?
    2. Please suggest libraries/frameworks that are better in your opinion, but consider telling way they are better.
    3. Would it be bad practice to mix enterprise library with other libraries? For example we consider using log4net for logging.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

牛↙奶布丁 2024-10-07 20:05:16

在我看来,企业库所做的几乎所有事情都有更好的工具。

  • 数据访问块

    我承认自从我在一个项目上与 EntLib 合作以来已经有几年了,但我记得 Data 块提供的功能非常有限。像 NHibernate 或 Entity Framework 这样的全功能 ORM,甚至像 SubSonic 这样的查询工具都提供了更多功能。我从事的每个项目都不使用 NHibernate,但最终我都实现了使用 NHib 可以“免费获得”的功能。

  • 缓存应用程序块

    使用带有缓存的 ORM 将涵盖缓存块所做的大部分事情。

  • 异常处理块

    这里有一些好的想法,但是这个概念可以大大改进。 Rinat Abdullin 在 利用操作策略进行异常处理

  • 记录应用程序块

    使用 NLog 或 log4net。时期。如果您需要外观,请使用简单日志外观Common.Logging。日志记录是一个非常有限且定义良好的组件。这些框架几乎相同且稳定。无需将其过于复杂化。

  • 政策注入与政策注入统一块

    研究 DI/IoC 并选择一个。几乎不会出错。这是一个值得考虑的好清单

  • 安全与安全验证块

    此时,我们已经为 EntLib 的大部分内容找到了更好的选择,将其作为依赖项引入以支持安全性或验证感觉很沉重。同样,还有很多其他工具可以帮助实现安全性 (Rhino 安全性) 和验证 (< a href="http://xval.codeplex.com/" rel="noreferrer">xVal,Lokad)

In my opinion, there are better tools for most everything the Enterprise Library does.

  • Data Access Block

    I'll admit it has been a couple years since I worked with EntLib on a project, but as I recall the Data block was very limited in what it offered. Full featured ORM's like NHibernate or Entity Framework, or even query tools like SubSonic offer far more. Every project I work on that doesn't use NHibernate, I end up implementing features that I would get "free in the box" with NHib.

  • Caching Application Block

    Using an ORM with caching would cover most everything the caching block does.

  • Exception Handling Block

    There's some good ideas starting here, but the concept can be greatly improved upon. Rinat Abdullin has some good starting info on leveraging action policies for exception handling.

  • Logging Application Block

    Use NLog or log4net. Period. If you need a facade, use Simple Logging Facade or Common.Logging. Logging is a very limited a well defined component. The frameworks are nearly identical and stable. No need overcomplicating this.

  • Policy Injection & Unity Blocks

    Research DI/IoC and pick one. Can't hardly go wrong. Here's a good list of one's to consider.

  • Security & Validation Blocks

    At this point, we've found better options for so much of the EntLib, that bringing it in as a dependency to support Security or Validation feels to heavy. Again, there's plenty of other tools to assist with Security (Rhino Security) and Validation (xVal, Lokad)

清欢 2024-10-07 20:05:16

我已经使用企业库(旧版本)一段时间了,没有遇到任何问题。

我认为使用一组有凝聚力的库肯定比将库拼凑在一起有优势(如果您要使用很多库)。

我发现日志记录块非常好 - 它具有高度可配置性,如果您使用得好,您将能够以极大的灵活性进行全面的日志记录。

I've used (an older version of) the Enterprise Libraries for a while and had no problems.

I think there's definitely an advantage using a cohesive set of libraries rather than piecing together a patch-work of libraries (if you were going to be using a lot).

I've found the logging block to be really good - it's highly configurable, and if you use it well you'll be able to log comprehensively and with great flexibility.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文