三层架构

三层架构

三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:界面层(User Interface layer)、业务逻辑层(Business Logic Layer)、数据访问层(Data access layer)。区分层次的目的即为了“高内聚低耦合”的思想。在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或称为领域层)、表示层。

View 层

视图层 负责和用户交互

用于输入输出和用户交互

Ui为Java控制台:

system.out.println(“”)打印输出

Scanner键盘输入

 

Service层

业务逻辑层:负责处理逻辑

接收视图层传来的参数,进行相应包装,传入dao层与数据库交互,

接收dao层返回(结果集,实体对象等)进行相应的逻辑处理判断,并将判断结果返回给view层

 

Dao层:

数据访问操作层 负责和数据库交互

 

 

 

例:登陆功能

 

问题:service层需要调用dao层成员方法,那么就需要新建一个dao层对象才能调用,如果业务逻辑在后来发生变化,更换成调用另一个dao层的方法,那么重新修改代码就很麻烦

此处复习依赖关系的概念:

  指的是一个类A使用到了另一个类B

  这种关系具有偶然性、临时性、非常弱的

  但是B类的改变会影响到A

  举例:人要过河,要借助船

  在代码层面,类B作为参数在A的某个方法中使用

处理方法:为了减少依赖关系,对service层,dao层各建立接口,使得实现类依赖于接口,遵循依赖倒转原则

依赖倒转原则

  高层模块不应该依赖于底层模块,二者都应该依赖其抽象

  抽象不应该依赖于细节,细节应该依赖于抽象

  类A直接依赖于类B,假如未来有可能改成类A依赖于类C,这种场景下

  类A就是高层模块,负责复杂的业务逻辑;

  类B和类C是低层模块,负责基本的原子操作

 * 面向对象 -> 面向接口

例:service层中的dao层成员属性:

View层中的service层成员属性:

 

Mvc与三层架构的区别

Mvc模式

他们是两个毫无相关的东西,经典三层架构是一种分层思想,将开发模式分为了这三层,每个人根据自己的专长,开发不同的模块,比如,前端工程师,那么就专研表示层即可,想办法如何让页面变的更好看,如何吸引别人,而有些专门做数据库工作的人,就可以只关注操作数据库的活,如何让查询更加快速有效,而不必关注数据该如何显示这种问题。这就是分层带来的巨大好处。

而MVC是一种设计模式,目的是让HTML代码和业务逻辑代码分开,让代码看起来更加清晰,便于开发。

硬说他们有关系的话,只能说他们有共同的点,分层,解耦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值