重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Java从1998年诞生到现在已经20多年了。使用它开发的软件不计其数。
创新互联公司主营淮安区网站建设的网络公司,主营网站建设方案,成都app软件开发,淮安区h5重庆小程序开发公司搭建,淮安区网站营销推广欢迎淮安区等地区企业咨询
在整个发展过程中,出现的架构方式有:
单体架构:将所有的功能代码写在一个工程中
垂直架构:将功能代码按业务进行拆分成一个个的单体架构模式
分布式微服务架构:将功能按照业务分为一个个微小的服务,每个服务都是独立的进程,单独部署,容易扩展,能够很好的应对高并发等
网格架构:未来的可能的架构模式。
Step1.情景概要Hello,小伙伴们,昨天跟大家分享了JAVAEE企业级应用开发中大家耳熟能详的概念-三层架构,那么有的小伙伴可能就会有疑问了,这种代码书写方式我每天写这些web项目时都是在采用该方式呢,安徽IT培训发现那跟我们所接触的MVC有啥区别呢,借着这样的疑问,我们今天聊聊我们程序员们在开发时经常提到的MVC。
Step2.问题浅析在开发中,我们可能总是不经意间就将三层架构与Mvc混为一谈,殊不知它俩并不是一个概念。
下面我来为大家揭晓我所理解的一些“真相”。
三层架构:通常意义上的三层架构就是将整个业务应用划分为:界面层(UserInterfacelayer)、业务逻辑层(BusinessLogicLayer)、数据访问层(Dataaccesslayer)。
区分层次的目的即为了“高内聚低耦合”的思想。
MVC:全名是ModelViewController,是模型(Model)-视图(View)-控制器(Controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
哈哈,看过概念感觉有点晕晕的,那具体该怎么去理解它呢?Step3.回归代码 在步骤二中对于三层架构与MVC的概念性问题做了一个解释,当然对于我们程序员来说概念神马都是浮云,只有代码才是我们的钟爱,接下来我们来具体来看看通过代码怎么去理解两者区别。
同样还是借助我们昨天的用户登录场景来分析。
在没有分层的情况下,也没有MVC概念的前提下,我们想要通过服务器端给浏览器响应一个登录页面。
三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。瑭锦TANJURD解释区分层次的目的即为了“高内聚,低耦合”的思想。1、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。3、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。
三层架构一方面是为了解决应用程序中代码之间调用复杂,代码职责不清的问题;通过各层之间定义接口的形式,并将接口与实现分离,可以很容易的用不同的实现来替换原有的实现,从而有效的降低层与层之间的依赖关系。这种方式不仅有利于整个团队理解整个应用架构,降低后期维护成本,同时也有利于制定整个应用程序架构的标准。
另一方面三层架构的出现从某种程度上解决了企业内部如果有效的根据技能调配技术人员,提高生产效率的问题,在大环境下,有效的分层能使不同职责的人各司其职,聚焦于个人专业技能的发展与培养上。
三层架构的出现不仅标准化了复杂系统的逻辑划分,更帮助企业解决如果有效的形成技术人员组织机构的问题,因此在很长的一段时间内,它一直是软件架构设计的经典模式之一。
优势
层次清晰,每个层次都提供了接口定义
很容易用新的实现替换原来的层次实现。例如对sql进行性能优化,并不会影响其他层的代码结构。有利于后期维护。
有利于实现切面编程,减轻业务的复杂程度,加快编码效率。
每个层次的定位明晰,业务处理的内容明确。依据层次,可以划分不同的分工。开发人员可以只关注整个结构的其中某一层。
接口定义也提供了良好的可扩展性。例如数据库从mysql切换到oracle,只需要通过配置来切换。
降低了代码之间,层与层的依赖关系
复用性:利于各层代码逻辑的复用
安全性:接口设计需要符合对扩展开发,对修改关闭的原则,增强了系统的安全性
各层次职责
表示层:是应用的用户接口部分,担负着用户与应用的对话,交互功能。
业务逻辑层:主要是业务逻辑的处理,操作,是系统功能核心。
数据访问层:也称为是数据持久层,昆明电脑培训发现其功能主要是负责数据库的访问。