【发布时间】:2009-02-02 00:27:24
【问题描述】:
在回复 Marc Gravell 发布的 answer 以及他通过电子邮件提出的建议时,我想知道:
人们在决定新项目的架构时会做出哪些选择?
这个问题可以作为链接/想法/建议/架构决策的一个不错的参考点,在决定采用新解决方案的最佳方式时真正感兴趣的任何事情。
我目前正在开发一个 ASP.NET MVC 应用程序 - 主要是为了增加我对新框架的体验 - 它与 ExtJs 前端一起在层之间传递 Json 对象。
可测试性非常重要,因此我的 .NET 层使用接口来定义合约,并由一个服务层组成,该层处理数据验证和应用程序逻辑,后者又与只处理数据持久性和检索的存储库层交互。所有这些都让我可以进行相当彻底的测试。
我有一个基于数据库的自定义模型层次结构,但是,它与任何将其绑定到特定平台的 ORM(我目前使用的是 LinqToSql)工具都无关。我的存储库返回的是我的自定义模型,而不是它们自己的数据库结构,这有望让我在未来开发不同的存储库实现而不会出现太多问题。
采用这种方法的另一个原因是,我正在使用一个遗留数据库,它有一些有趣的设计选择,目前不能过多地改变结构,所以我希望对生成的模型有更多的控制。
对你们中的一些人来说,这一切似乎完全错误,所以请告诉我你的想法;)
【问题讨论】:
标签: asp.net asp.net-mvc architecture