MVC和ORM作为asp.net Web应用程序的设计

时间:2011-11-21 04:53:30

标签: model-view-controller orm


我有一个asp.net项目及其设计阶段。它关于产品和商店导航系统。用户可以浏览/搜索产品。我希望我的Web应用程序可扩展且灵活。
我最初的计划是将其设为 MVC ,对于数据库,我建议 ORM(对象)关系映射)。是吗?我提出的问题可能是什么问题。我正在学习asp.net所以我对这些问题知之甚少。
你们的人们建议用什么设计?

2 个答案:

答案 0 :(得分:1)

很高兴你决定学习ASP.NET。

关于设计方法,听起来你的问题是2部分:a)MVC或传统的网络形式ASP.NET,以及b)ORM或没有ORM。

a)一般来说,如果您有良好的编程背景,我会建议任何面向互联网产品的消费者使用网络表单上的MVC。它提升了可测试性,明确分离了关注点,并为开发人员提供了对UI的更细粒度的控制。

b)关于ORM或没有ORM - 首先,重要的是要注意您仍然需要选择数据库。 ORM仅仅是将数据访问逻辑从开发人员中抽象出来的一种手段 - 但仍然需要一个数据库来存储数据。如果您使用的是所有Microsoft堆栈,则可能会选择SQL Server。

ORM非常适合开发人员的工作效率 - 一般而言,没有理由不为新项目选择它,除非您能够预先确定它不会提高生产力。您选择不采用ORM的一个示例原因 - 您需要以预定义的格式或在现有数据库中保留数据 - 并且持久化实体与您的应用程序表示它们的方式不一致(即,归一化)。在这种情况下,您可能希望编写自己的数据访问逻辑,而不是依赖ORM。

最后,如果您要完成的只是将产品目录放在网上,而不是从头开始构建应用程序来执行此操作 - 您可能需要考虑使用某种类型的现有CMS,或者甚至将Wordpress与某些插件一起使用。可以节省数小时的时间,仍然可以实现您的既定目标。

祝你好运!

答案 1 :(得分:1)

如果您想要了解如何使用MVC和ORM构建应用程序,请阅读以下书籍:Professional ASP.NET Design Patterns

它详细解释了如何使用MVC构建应用程序。它还包括其他有趣的主题,如依赖注入,存储库模式(非常重要,特别是如果你决定去ORM),TDD等。我希望你会喜欢阅读这篇文章。