三层架构与MVC简单区分

2017-06-27  本文已影响0人  jayafs

我们平时总是将三层架构与MVC混为一谈,殊不知它俩并不是一个概念。

首先,它俩根本不是一个概念。

然后,它俩的目的着重点不同。

三层架构的目的着重点是“高内聚,低耦合”,即解耦。
  MVC的目的则是实现Web系统的职能分工,即职责划分。
  其实职责划分也是解耦,但是三层侧重的是整体的一个解耦,而MVC侧重的是web系统的解耦,即侧重jsp和Servlet的一个解耦。

最后,为何我们会将其混为一谈?

既然两者有这么多的不同,我们为什么还总是将其混淆呢,下面我列举了几个我们常常将其混为一谈的几个原因:
  1.二者都是“三层”。
  这个原因是最容易迷惑我们初学者的,一个是UI,BLL,DAL,一个是View,Controller,Model,不都是三层吗?
  虽然都是“三层”(不一定是真的三层,还可以是多层),但是它们的划分的不一样。大家可从上面的图中看出不同。
  2.MVC总是伴随着三层架构。
  这个就是我在前面一再强调的,我们一般是在考虑使用(也可以不使用)了三层架构的基础上再根据具体需求决定是否需要使用MVC,于是我们常说的MVC中总是伴随着三层架构,所以大家总是会认为MVC就是三层架构,三层架构就是MVC,殊不知,它们二者是一起出现的。
  3.都是在分层,即都是在解耦。
  前面说它们目的的时候也说了,虽然它们的侧重点不同,但是它们的总体目的是一样的,都是为了解耦,对于初学者而言,是不知道这两个侧重点有何不同的。

上一篇 下一篇

猜你喜欢

热点阅读