经过大量阅读后,我仍然无法理解设计模式MVC和3层架构之间的区别。 我看到mvc中的模型与3层中的业务层相同。 在我搜索的所有网站中,我发现MVC是3层架构中表示层的应用程序架构。
答案 0 :(得分:1)
我认为从某种意义上说,MVC项目可以被视为一个三层应用程序。它有一个数据层,视图层和逻辑层。但是,这些层中的所有3层都与MVC项目紧密耦合。
另一方面,n层应用程序可能包含一个UI应用程序(即MVC Web应用程序),它调用Web服务(即WCF),然后调用业务逻辑/数据访问层(即LINQ-> ; SQL,数据库调用)。
我看到的主要区别是MVC与它的架构紧密耦合。我的意思是,你不能在不重建应用程序的情况下删除控制器/模型。另一方面,N层应用程序更加松散耦合。意思是,我可以为Web API切换WCF层,而我的应用程序的其余部分也不关心。这是可能需要增长/扩张的优势。