文章

关于持久层,业务层,控制层。

Title01.png

我们在进行前后端交互的时候,会分为数据访问,业务逻辑,接受请求并响应数据三个操作,这三部分其实是可以拆分的,让他们解耦,否则代码复用性差并且不易维护,所以诞生了三层架构——1.Dao(数据访问层/持久层)、2.Service(业务逻辑层)、3.Controller(控制层)

持久层/Dao

主要负责数据访问操作,包括增删改查

最直观理解就是包括但不限于各种mapper

在传统的Java开发中,DAO(Data Access Object)层通常用于封装对数据源(如数据库、文件系统等)的访问操作。使用接口定义DAO层的契约可以带来以下好处:

1.抽象和规范:接口定义了DAO层的契约,规定了应该提供哪些数据访问方法和操作。这样可以使代码更加抽象、可扩展和可维护。

2.解耦和可替换性:通过面向接口编程,DAO层的实现类与上层业务逻辑层之间可以实现解耦。业务逻辑层只依赖于DAO接口而不关心具体的实现类,这使得在需要更换底层数据源或更换数据访问方式时更加方便。

3.可测试性:接口可以提供更好的可测试性。通过使用接口,可以轻松地创建模拟对象或测试替身来进行DAO层的单元测试,而不需要依赖于真实的数据源。

4.面向切面编程:通过接口,可以更容易地将事务管理、异常处理等横切关注点应用到DAO层中,提供更好的代码结构和可维护性。

Title02.png

服务层/Service

处理具体的业务逻辑,同样也采用接口的形式,Service层可以通过获取Dao层的数据,对数据内部进行处理,然后再返回,接下来给Controller调用

最直观的体现是在Service包下的实现类和接口。

Title03.png

控制层/Controller

负责前后端交互,接受前端请求,调用Service层,并将Service返回的数据传到前端。

最直观的体现就是各种类的Controller

具体的操作逻辑代码就在这里边。

License:  CC BY 4.0