您使用的是 Microsoft 企业库吗? [关闭]
Posted
技术标签:
【中文标题】您使用的是 Microsoft 企业库吗? [关闭]【英文标题】:Are you using the Microsoft Enterprise Library? [closed] 【发布时间】:2010-11-02 16:53:40 【问题描述】:在我的商店中,我们目前正在开发我认为的中小型项目。我们一直在研究企业库以及它如何能够帮助我们进行开发。我一直特别关注 Logging 块并将其与 Log4Net 进行比较。在我看来,对于简单的应用程序日志记录,Enterprise Library 块将是一个设计过度的解决方案。
话虽如此。您是否在使用 Enterprise Library 以及用于什么规模的项目?您对整个企业库有何看法?
谢谢
【问题讨论】:
【参考方案1】:我认为企业库在大多数情况下都过度设计了。不,我们不使用它,但我们的大多数项目都是具有促销性质的短期大容量网站。
【讨论】:
【参考方案2】:+1 表示过度设计。我们使用 log4net 而不是日志记录或异常处理块。我们使用本机 .NET System.Security 命名空间而不是 entlib 加密块。一些跟踪工具很不错,但我们在生产中没有任何使用它们的工具。
【讨论】:
这里也一样——我们最响亮的“微软做到了,所以它一定很好”的家伙最终废弃了他最初使用的日志记录块。从那以后,我们没有使用过其他任何一种。 同样的日志记录体验。通过 msdn 风格的令人困惑的文档花费了太长时间,所以我用谷歌搜索,找到了 David Hayden 的例子。很快就换了。 我认为 log4net 也被过度设计了(我不是为应用程序块辩护,它们肯定是过度设计的)【参考方案3】:不,我们不使用它。事实上,我是 Enterprise Library 块的强烈反对者,因为我已经看到太多新版本的块的向后兼容性问题。
【讨论】:
【参考方案4】:我们使用它(特别是 Unity、Logging 和 Validation),我不能说我是它的忠实粉丝。
日志块绝对是过度设计的,具有讽刺意味的是仍然缺乏很大的灵活性。如果我想将更多结构化的日志消息写入数据库,而不仅仅是包含通用消息的单个表,我必须删除和替换多少代码,这让我感到惊讶。文档很粗略,很难理解记录器中实际发生的情况。
Unity 实际上工作正常。就个人而言,我宁愿完全避免使用 DI 容器,但如果你必须使用一个,Unity 似乎很好。
我并没有真正参与使用验证块的代码,所以我不能告诉你它是如何工作的。
但总的来说,我会说是的,它被过度设计了,除非它完全满足您开箱即用的需要,否则您可能最好不使用它。
【讨论】:
【参考方案5】:Enterprise Library 是一种矫枉过正。它过于复杂和不灵活。所以我们不使用。
在我们的项目中(包括那些针对 Windows Azure 上的分布式计算场景的项目),我们使用 Lokad Shared Libraries 作为轻量级替代品。它插入 log4net 进行日志记录,Autofac IoC 进行配置,提供自定义业务规则、验证和异常处理(具有可靠性)应用程序块,同时将所有必需的程序集打包在几个 dll 文件中。
【讨论】:
【参考方案6】:我喜欢与企业库分开的旧应用程序数据块。它非常简单,可以为您节省大量时间。我们尝试搬到企业版块,但不值得。
我们使用 log4Net 进行日志记录,效果很好。
【讨论】:
【参考方案7】:我喜欢使用它,尤其是用于小型项目,因为它是“我不在乎,这些东西很简单,可以轻松提供我需要的一切”。
过度设计?怎么样?
【讨论】:
【参考方案8】:都是以我相信的名字说的..“企业图书馆” 企业非常大(是的,我知道,很棒的定义......但是,嘿,我现在有点醉了!)
【讨论】:
【参考方案9】:我已经使用了一段时间,但现在我转向了更敏捷和简单的解决方案,例如 log4net 用于日志记录,EF 或 Linq2sql 用于数据访问等等。
【讨论】:
【参考方案10】:在处理过许多中型大型 Web 项目后,我可以推荐 ent 库中的缓存块,因为它允许您通过简单的配置更改来使用 nCache 或类似的东西。这允许开发团队使用 TDD,而无需在任何地方安装 nCache(或类似的)。
Log4Net 远优于 ent lib 日志记录块恕我直言。
我用过几次安全/密码学模块,通常发现它们会按照他们在锡上说的做,不会太繁琐或太复杂。
框架的其余部分被其他更简单且(恕我直言)更好的解决方案击败 数据访问 - nHibernate、ActiveRecord、Tarantino
Unity - 温莎、春天等
验证 - 我使用城堡堆栈
【讨论】:
以上是关于您使用的是 Microsoft 企业库吗? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
您可以在 Microsoft 的功能管理库中使用 Azure 功能中的功能门装饰吗?
Microsoft Active Directory端口[关闭]