JAVAEE三层架构与MVC设计模式的理解

架构模式>设计模式

三层架构分为Web层,Business层,Dao层,每一层都可以有自己的设计模式,Web层最常用的是MVC设计模式,Business层的Dao层则使用工厂模式,即通过工厂生产对应的对象从而进行解耦,还可以结合接口,继承等设计进一步解耦,当然工厂模式也是可以用在Web层,无论使用何种方式进行解耦,都是基于面向抽象编程的原则

实际开发中,原则都是面向抽象开发,即面向接口或者继承等方法进行解耦,即每一层都有自己的接口,实现类,父类等,通过实现接口,继承父类等把耦合度降低。大多数框架使用工厂模式的同时运用接口,继承等方法进行解耦

Web层:

Web层有多种框架,SpringMVC框架与Struts2框架都是基于MVC设计模式的框架。SpringMVC中的handler无论返回什么值,都会封装成ModelAndView对象,Model负责存储数据,View负责储存视图。即Controller负责与前端交互,需要传递给前端在页面中显示的数据存放在Model对象里(Model里的数据之所以能在页面中获取到,是因为Model里的全部数据会被默认放进request域中,当然自己也可以通过SessionAttribute注解手动指定特定数据放在Session域中),View对象则是存储需要前往的视图(视图解析器会解析,即返回的字符串类型的数据会被默认变成视图对象,由视图解析器进行解析)。

同样Struts2也是基于MVC设计模式的,Struts2通过Action负责与前端交互,值栈valueStack负责存储并携带数据到页面(容器ServletActionContext与ActionContext也可以携带数据到前端页面),视图则是通过配置result标签关联返回值与视图

Business层:

通过Web层传来的参数,处理实际业务需求。该层需要写实际的逻辑代码,即按照正确的业务逻辑进行处理(可以使用工厂模式,创建一个Service工厂,Web层就可以通过工厂创建对应的business对象,即根据业务需求可以通过同一个工厂创建不同的Service业务对象,从而调用对应的方法处理业务)

Dao层

获取或存储数据到数据库(也可以通过创建一个工厂,Service通过Dao工厂创建对应的Dao对象,从而操作数据库(可以通过运行时多态,创建Dao接口确定类的规范,通过接口运行时才决定创建哪个Dao对象)),Dao层常用的框架有Mybatis,MybatisPlus以及Hibernate等框架

当然,设计模式不止只有MVC设计模式,工厂模式等,还有很多如单例模式,代理模式等,通过设计模式,可以很好地解决业务,代码或性能层面上的一些问题

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值