三层架构
在上篇文章的案例中写文章-CSDN创作中心
的Controller类承担了对于数据操作(访问)、对于对于数据的逻辑处理、以及接受请求响应数据的工作,对于类似的小项目来说冗杂程度还可以接收,但是如果项目更加复杂,就会出现后端维护困难、维护成本高,因此在开发过程中,尽可能地让每一个接口、类、方法职责单一,即只实现一种功(单一职责原则),因此在web开发中就存在三层架构
- controller:控制层,接收前端发送的请求,对请求进行处理,并响应数据。
- sevice:业务逻辑层,处理业务的具体逻辑
- dao:数据访问层(Data Access Object)(持久层),负责数据访问操作,包括数据的增、删、改、查(CRDU)操作
在三层架构地模式之下,前端发送请求,首先会到达Controller类,然后再Controller类中调用Service进行逻辑处理,二逻辑处理的前提是,得先有数据进行逻辑处理,因此Service就会调用DAO层,DAO层来操作数据,将数据获得后,将数据返回给Service,然后Service再继续逻辑的处理,最后将处理结果返回给Controller,最后响应给客户端。
由于DAO层访问数据的方式有很多种:可能访问文件中的数据、有可能是数据库中的数据、也有可能是通过其他接口获取到的数据....可以通过面向接口的方式进行编程,即通过实现接口来实现对应的功能。具体参考(9条消息) 面向接口编程思想(的好处)_面向接口编程的主要思想是什么_我恐怕是个废柴了的博客-CSDN博客
同理再Service中也可以采用面向接口编程
对于上一次的案例进行三层架构的拆分
明天继续