【问题标题】:Looking for S#arp Architecture usage without ASP.net MVC issues or gotchas寻找没有 ASP.net MVC 问题或陷阱的 S#arp 架构使用
【发布时间】:2010-11-29 17:31:04
【问题描述】:

在开始新项目之前,我正在探索技术和库。真正引起我注意的是 ASP.net MVC 的 S#arp 架构库。但是,我已经决定我的大部分 Web 应用程序将使用 Visual Web GUI 作为前端,只留下一个小的单独的面向客户的 Web 组件,它将在 ASP.net MVC 中开发。牢记这一点,根据你们中那些非常熟悉 S#harp 架构的人的经验,或者可能尝试过使用 S#harp 的类似解决方案,在我开始之前是否有任何问题或陷阱我应该注意?我还查看了 Castle Active Record 和 Fluent NHibernate 使用作为可能的选项,但发现自己倾向于 S#arp。

我选择库的最大目标是尽快使用存储库模式设置我的数据访问权限。

【问题讨论】:

    标签: c# orm repository-pattern s#arp-architecture


    【解决方案1】:

    如果您的主要目标是快速充实持久层,那么 S#arp 架构有点过载 IMO。 S#arp 使用了 Fluent NHibernate,所以我就这么做了。 FNH's auto mapping conventions 应该会减少你的开发时间。

    我不会说 S#arp 是一个库。它更像是领域驱动设计的样板。在开始研究 S#arp 之前,您应该熟悉依赖注入(又名控制反转)、测试驱动开发、Rhino Mocks 和 NHibernate(因为这些是其中使用的概念和技术)。否则学习曲线会非常陡峭。

    【讨论】:

    • 我完全同意马特所说的话。对于你想要的,S# 很可能太多了,有点像用大锤敲钉子。
    • 我希望使用 s#harp 我不必自己学习流利的 nhibernate 最佳实践,并且可以从它们与 log4net 和 Windsor 的集成中受益,而无需深入研究它们,但是相反,首先关注我的问题领域,然后有机地挑选在大规模应用程序中使用这些其他系统的更好点。但这似乎不是一个非常现实的目标。所以我要去我的游乐场存储库单独修改这些工具,直到我能弄清楚如何最好地将它们用于我的解决方案。
    • 我强烈推荐 fluent nhibernate。这真的不是一个学习曲线,并支付高额红利。如果您想快速了解 nhibernate,请查看 summerofnhibernate.com 这些来自 Stephen A. Bohlen 的优秀屏幕截图,让您快速入门。
    【解决方案2】:

    我们已经使用 S#harp 框架实现了一个 ASP.NET 标准项目,没有任何问题。我强烈建议您从服务层开始编码,并且在您的代码隐藏 aspx 文件中不保留任何逻辑。我们还努力避免在控制器中包含逻辑,因为我们将它们视为代码隐藏文件,并尝试将所有系统逻辑放入服务中。

    只要确保在全局 asax 文件中插入所有必需的内容,就完全没有问题了。如果您使用 NHibernate、Fluent、Service Injection 和 DDD,则很容易使其与旧的 asp.net Web 应用程序一起使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多