我写一个设计文档和人民对我的团队都愿意做,从ASP.NET Web窗体到ASP.NET MVC的举动。这是伟大的,但我有一个很难理解MVC的三层(数据层,业务层和表现层)的体系结构如何workswith。我们可以说,模型,视图和控制器的表示层的一部分?是业务层的Model部分?

在简单地说,如何MVC和3层架构可以一起工作?感谢您的帮助!

有帮助吗?

解决方案

我考虑ASP.Net MVC是在表示层。 “模型”类,它使用真的视图模型,描述你的看法所需的数据结构。您所有的业务逻辑和数据的访问应该从你的MVC模型和控制器保持独立。

此外,一般的“最佳实践”为MVC是为了保持控制器代码尽可能简单,这通常意味着引入一些应用服务的进入业务层处理该繁重。

其他提示

表示层的视图。

在数据层是您的模型(建议在看存储库模式)。

在业务层遗体它是什么。

在控制器可以调用用于功能性的业务层当对象被加载,或当特定视图模型被请求模型可以调用业务层为功能性,但否则保持相同。

在控制器不应该有广阔的商业逻辑在里面 - 把在其自身包含的DLL

这是相当主观的。 做什么有意义的团队。

MVC可以相当灵活,几乎没有任何的MVC框架,在所有语言,做事的方法相同。即使是在.NET空间。 FubuMVC,Spring.net和MS MVC所有做事方式略有不同。

首先, 你不必改变MVC只是因为......如果你有一些工作,我不认为你需要。

但你的问题,在MVC模式的模型是任何一种类代表您的业务问题,至极可以是任何类型的计算,业务规则或数据访问类。在MVC框架中有一个文件夹的方式来提出你的解决方案,这样你就可以把你的模型类在那里,但你没有,你可以创建不同的项目,以便解决您的业务问题,这就是你的模型。 所以在这里,你可以定义任何其他行话您为instante,您可以使用存储库模式和implemente是使用NHibernate或实体框架。

观只是网页来显示和接收信息,并从该用户。

和控制器的入口在你的应用程序,将要接收请求,调用所需车型,并重定向到指定的视图类。

希望我能有帮助。

N层与MVC工作得很好。只要遵循SOLID原则和其他几个人,你将能够保持你的应用程序松耦合和凝聚力。

我要说的是,阅读MVC 3书籍和观看影片pluralsight.com你最大的资源。你不能去“做什么工作你的团队。”如果名为约翰尼和邓肯说工作伙伴要放一堆逻辑到控制器,只是因为在短期内的最后期限抢说:“工程为您的团队”,不使它正确/好/聪明。

我发现在互联网上这么多坏的文章,这是可怕的,有多少人越来越带领下来痛苦的黑暗道路。按照快乐路径。使用计算器为喜欢艺术的看法,但与MSDN文章支票,MVC书籍,pluralsight.com

我知道这只是一个维基百科的链接,但有一些信息这里有关n层与MVC架构。

一个“层”是部署单元,而在MVC“层”是内码责任的逻辑分离。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top