关于Springboot理解
面向对象五大基本原则
graph LR
A(面向对象五大原则);B(单一职责原则);C(开放封闭原则);D(里式替换原则);E(依赖倒置原则);F(接口隔离原则);
A---B;A---C;A---D;A---E;A---F;
B-->b[一个类只负责一个明确的职责或功能];
C-->c[实体类对拓展开放,对修改封闭 拓展现有代码实现新功能,而非修改原有代码];
D-->d[子类对象能够替换父类对象,并且程序行为不会发生改变,要点:<ol><li>子类在继承父类时,必须实现父类中所有的抽象方法</li><li>子类在可以在实现父类的抽象方法时,增加自己的特殊行为,但不能修改父类的数显逻辑</li><li>子类的前置条件,如: 接收的参数 调用的方法等,不能比父类更加限制</li><li>子类的后置条件,如: 返回值 抛出的异常等,不能比父类更宽松</li><li>子类的方法不能抛出父类方法未声明的异常</li></ol>];
E-->e[依赖关系应该通过接口或抽象类来建立,不通过具体的实现类, 要点:<ol><li>高层模块应该定义一个抽象接口或抽象类,用于定义它所依赖的低层模块的行为</li><li>低层模块应该实现高层模块定义的抽象接口或抽象类,提供具体的实现</li><li>高层模块应该通过抽象接口或抽象类来依赖低层模块,而不是直接依赖具体的实现类</li></ol>]
F-->f[将庞大的接口拆分成更小的 更具体的接口 以避免接口过于臃肿和不必要的依赖关系,要点:<ol><li>接口应该只包含客户端需要的方法 不应该包含不相关或不必要的方法 一个接口应该具有单一责任 只负责一个特定的功能或行为</li><li>客户端只依赖所需要接口 而不依赖不需要接口</li><li>接口设计应该经过合理的考虑和分析 避免频繁变更和修改</li></ol>]
Spring Boot五层架构
flowchart LR
subgraph 五层架构
direction TB
A(Web层/表现层);B(Controller层);C(Service层);D(Mapper层/Dao层);F(数据库);
A<-- Vo -->B;
B-- Dto -->C;
C<-- Po -->D;
D<-- Pojo/entity -->F;
end
subgraph 各层作用
direction LR
A2(Web层/表现层)-->a(负责接收用户请求并展示处理结果,表现层通常由前端页面 前端控制器 和视图解析器等组成,与用户交互,接收用户输入,将请求传递给控制层处理,并将处理结果展示给用户);
B2(Controller层)-->b(负责接收表现层传递过来的请求,处理请求并调用服务层逻辑处理业务逻辑);
C2(Service层)-->c(负责处理业务逻辑和业务规则.服务层包含业务逻辑的具体实现,通常用来协调各个业务功能的调用,同时也可以包含事务管理等业务逻辑.);
D2(Mapper层/Dao层)-->d(负责与数据库进行交互,执行数据持久化操作.持久层包含数据访问对象Dao或仓储类Repository或Mapper类,用于执行数据库的CRUD操作.);
end
五层架构-->各层作用

浙公网安备 33010602011771号