在成为经典的 asp 和 webforms 开发人员超过 10 年之后,我是一个相当晚的“转换”到 mvc 的人。然而,大约 18 个月前,出现了一个项目,我们的管理团队认为这将是一个很好的独立项目来试用 mvc。我的任务是管理这个项目。我承认我非常怀疑,因为我们有大量为 webforms 构建的组件以及我们自己的 webforms 项目“迷你框架”。
当我慢慢发现使用 mvc 范式更接近金属实际上是一个更有成效的过程时,想象一下我的惊讶。很快,我什至开始质疑是否在其他正在启动的新项目中使用 webforms 或 mvc。美妙之处在于我们的 webforms 项目使用了您提到的 3 层方法,对我们来说,切换 webforms 部分并将我们的 BLL/DAL 插入到位并在 mvc 项目中使用非常容易。
总而言之,掌握 mvc 的概念需要时间,但值得庆幸的是,那里有很多很棒的书籍和教程:
http://nerddinner.codeplex.com/
http://blog.stevensanderson.com/
http://www.amazon.com/ASP-NET-Framework-Second-Experts-Voice/dp/1430228865/ref=pd_sim_b_2
我会推荐 steven Sanderson 的书,如果它是你看过的唯一一本。它将许多核心概念的非常全面的演练联系在一起,从而在文章结尾处对“它是如何工作的”有一个非常详细的理解。
简而言之,不,使用 3 层进行设计不 = mvc。但是,如果您担心失去在 3 层方法中构建的知识和核心功能,则不必担心。 mvc 和 BLL/DAL 可以很好地协同工作。从 web 表单迁移时会担心您会丢失所有以前的 dpmain 逻辑 - 简而言之,它们很高兴地合并/共存,并且完全有可能仍然有一部分团队致力于业务逻辑,而另一部分则专门处理mvc 的实现。
我本来打算谈论出色的 jquery 集成 - 但这是另一天的故事 :)