想做棋牌网站怎么做,深圳营销型网站建设公司网络服务,seo就业前景,重庆网分层开发(横向拆分)
分层开发的概念:
maven多模块开发项目管理.可以利用这种管理功能,实现一个项目的多层次模块开发–分层开发. 比如,当前项目HelloController依赖HelloService 这样做目的: 复杂开发过程.解耦(不调整依赖关系,无法解耦).分层开发(横向拆分)和纵向拆分的区别…分层开发(横向拆分)
分层开发的概念:
maven多模块开发项目管理.可以利用这种管理功能,实现一个项目的多层次模块开发–分层开发. 比如,当前项目HelloController依赖HelloService 这样做目的: 复杂开发过程.解耦(不调整依赖关系,无法解耦).分层开发(横向拆分)和纵向拆分的区别在于,拆出多层,最终运行也是一个项目.
整洁架构
代码整洁之道作者Bob大叔曾经说过 翻译过来: 程序架构总是一样的. 让程序运行很简单. 让程序正确很难. 让程序维护简单,扩展简单就是正确 以 controller–service-mapper 为例,按照直觉分层开发,做依赖关系. 问题1: 没有实现控制层,对持久层之间的隔离关系,可以随意的在controller中注入,依赖mapper 问题2: 架构分层之间是纯粹强耦合. 分层开发没有达到最终的目的,实现解耦,实现扩展维护方便. 对应以上问题,在bob大叔的 整洁架构之道中,提到的解决的思想.
整洁架构落地方案
核心点: 分层的众多模块中,有最核心的业务模块(service).
其他的模块,包括controller,redis,rocketmq,mysql,mybatis这些模块切分出来,都是容易被替换掉的. 核心稳定的模块,如果依赖了容易变动不稳定模块,不满足整洁架构的思想. 解决方案: 依赖倒置(开发原则)
依赖倒置
依赖倒置原则Dependency Inversion PrincipleDIP是面向对象设计中的一项重要原则。它主要包含两个核心概念 高层模块不应该依赖于低层模块的具体实现而应该依赖于抽象。抽象不应该依赖于具体实现而应该依赖于更高层次的抽象。 简而言之依赖倒置原则提倡程序的高层模块和低层模块都应该依赖于抽象而不是具体的实现细节。这样可以解耦系统的各个模块达到易于扩展、灵活性高的设计效果。
以下是一些实践依赖倒置原则的方法
依赖注入Dependency InjectionDI通过依赖注入的方式将依赖关系从代码内部移动到外部容器中管理。通过接口或抽象类定义依赖关系并将具体实现通过构造函数、属性或方法参数的方式注入到使用者中。接口编程使用接口或抽象类作为模块之间的约定使得高层模块与低层模块之间的依赖关系建立在抽象上而不是具体的实现类上。面向接口编程在设计和开发过程中尽量使用接口来定义模块之间的交互而不是直接依赖于具体的类。这样可以提高系统的灵活性和可维护性。通过遵循依赖倒置原则可以提高代码的可测试性、可扩展性和解耦度使系统更易于维护和理解。