在我学习的过程中,老师在讲解的过程中时常提到mvc和三层架构。有的人说是三层架构,有的人说有区别。
我们根据他们的定义来看一看
1.三层架构:是一种架构。数据访问层,业务逻辑层,还有表现层。
数据访问层:就是我们平时使用的dao层,主要对数据库的一些操作,包括增删改查操作。
业务逻辑层:就是我们系统的核心业务,主要是调用数据访问层。当然比如上传的excel表,我需要对里面的数据进行批量读出,然后数据解析,然后调用数据访问层,将数据存入数据库。
表现层:给用户展示的数据信息和界面之类的,所见即所得。
2.mvc是一种设计典范
mvc很容易知道是model view 和controller那么这几个是什么意思?
model是模型。系统的核心,主要是对数据的处理和操作。
view是视图。是展示数据的地方
controller是控制器。作用:将视图和模型分开。降低耦合度。
根据找的和自己理解的定义:三层架构是架构。mvc是框架(之前觉得是设计的一种模式实际上不是)。
那么什么是架构?
软件架构(software architecture)
软件的架构是系统的一个草图、阐述了各个组件之间的通讯、划分层次、一旦系统开始详细设计、架构蓝图就很难甚至无法更改、是由软件架构师从无到有设计出来的。
什么是软件框架
软件框架(Softwareframework)
软件框架是在一定领域内、别人已经对这个领域制作软件所需的基础架构功能、进行了总结、做出了有代码实体的软件框架结构、如果要制作这一领域的软件、可以在别人写好的框架上、继续设计、编写自己的软件、骨头架上填肉、框架有一定的局限性。
可以得出:架构是自己设计程序的一个从无到有的过程。mvc是一种框架,框给你驾好了的。你只需要把你的自己的系统独有的部分写入即可。
二者比较
三层架构的ui层实际和mvc的视图层和控制层很像。
mvc的处理数据的模型层和三层架构的业务逻辑层和数据访问层软件框架实际上是差不多的。
设计模式
设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。
来源:https://m.runoob.com/design-pattern/design-pattern-intro.html
里面有许多的设计模式,更偏向实际经验。主要是代码实现的一些很优秀的方法。
借鉴:https://blog.csdn.net/u010191034/article/details/24555161
多说一句:springmvc只是spring下面的一个模块,使用的是mvc的框架。里面的springmvc里面用了设计模式,比如工厂模式,代理模式,适配器模式等等。