一种基于领域控制设计模式的软件架构的制作方法
- 国知局
- 2024-08-22 14:46:47
本发明涉及计算机应用软件开发领域,具体是一种基于领域控制设计模式的软件架构。
背景技术:
1、软件系统是一种由系统软件、支撑软件和应用软件组成的计算机软件系统,它是计算机系统中由软件组成的部分。
2、软件系统的设计编码具有一个非常复杂的组织结构,为了对软件系统的设计编码的组织结构进行简化和规范化,现在主流的方式有mvc三层架构方式以及ddd领域设计架构;两者具备不同的优点,对应于项目体量很小,业务逻辑简单的软件系统,例如博客、新闻网站或内容展示类网站使用mvc三层架构是现行的最佳选择,因为其结构分层简单,代码界限清晰,学习成本低,易于掌握。当开发复杂的企业级应用程序时,例如erp系统、大型电商平台、金融系统等,领域驱动设计的能力更好地将业务逻辑和领域模型进行抽象和建模,便于应对复杂的业务需求和变化。
3、但在近年来的实践中,开发者们发现领域设计存在着较高的学习成本,以及由于代码的较为复杂,降低了可读性、增加了额外的开发及维护成本;因此,针对上述问题提出一种基于领域控制设计模式的软件架构。
技术实现思路
1、为了弥补现有技术的不足,解决背景技术中所提出的至少一个技术问题,本发明提出一种基于领域控制设计模式的软件架构。
2、本发明解决其技术问题所采用的技术方案是:本发明所述的一种基于领域控制设计模式的软件架构,该软件架构包括代码包;所述代码包包括接口层、应用层和基础设施层;
3、应用层:定义抽象的业务逻辑流程,并对业务步骤逻辑流程进行具体操作;
4、基础设施层:为各个业务领域提供通用的数据资源;
5、接口层:用于各个客户端之间的数据传递,同时可以控制通信协议,适配不同客户端进行命令、数据交互。
6、优选的,所述应用层包括业务服务层和业务组件层;所述业务服务层针对某项单一的业务功能,定义抽象的业务逻辑流程,而不实现具体的业务功能,将具体的业务功能委派给业务组件层进行实现。
7、优选的,所述业务组件层是对于某个业务步骤加工逻辑的进行具体操作。
8、优选的,所述接口层提供可以被外部使用的api接口或可以被内部系统集成的客户端接口,可以针对不同客户端传递不同的数据对象,对不同客户端的通信协议进行适配。
9、优选的,所述基础设施层是独立于各个业务领域之外,可以被各个领域依赖使用的代码层,避免各个领域中进行重复建设。
10、优选的,所述基础设施层包含有数据库组件、数据库实体包、通用工具包。
11、优选的,所述代码包是按照业务划分领域边界后,其中是否有自己的独立的业务逻辑部分来进行划分。
12、优选的,所述基础设施层用于提高软件的复用性,并且成为各个业务层之间可以通用的数据语言,以及可以通用的工具、算法。
13、本发明的有益之处在于:
14、1.本发明通过设置接口层、应用层和基础设施层,根据业务划分软件代码设计的领域边界,应用层的子层-业务服务层将业务逻辑委派给业务组件执行,接口层同时可以控制输入、输出协议,适配不同客户端进行命令、数据交互,这样实现了领域边界清晰,低耦合高内聚的软件设计架构,以此降低代码耦合度,增强了扩展性,业务逻辑高度内聚,提高了可读性,组件复用性提高,使得软件体积减小,高度解耦合的组件式结构,降低了软件腐化的速度,并且有利于软件的局部重构;
15、2.本发明通过设置业务服务层和业务组件层,业务服务层针对某项单一的业务功能,定义抽象的业务逻辑流程,而不实现具体的业务功能,将具体的业务功能委派给业务组件层进行实现;业务组件层进行的是对于某个业务步骤加工逻辑的具体操作,这样的方式可以极大提高代码的可读性,降低开发和维护成本,同时代码的耦合度大大降低,复用性也得到提高。
技术特征:1.一种基于领域控制设计模式的软件架构,其特征在于:该软件架构包括代码包;所述代码包包括接口层、应用层和基础设施层;
2.根据权利要求1所述的一种基于领域控制设计模式的软件架构,其特征在于:所述应用层包括业务服务层和业务组件层;所述业务服务层针对某项单一的业务功能,定义抽象的业务逻辑流程,而不实现具体的业务功能,将具体的业务功能委派给业务组件层进行实现。
3.根据权利要求2所述的一种基于领域控制设计模式的软件架构,其特征在于:所述业务组件层是对于某个业务步骤加工逻辑的进行具体操作。
4.根据权利要求1所述的一种基于领域控制设计模式的软件架构,其特征在于:所述接口层提供可以被外部使用的api接口或可以被内部系统集成的客户端接口,可以针对不同客户端传递不同的数据对象,对不同客户端的通信协议进行适配。
5.根据权利要求1所述的一种基于领域控制设计模式的软件架构,其特征在于:所述基础设施层是独立于各个业务领域之外,可以被各个领域依赖使用的代码层,避免各个领域中进行重复建设。
6.根据权利要求5所述的一种基于领域控制设计模式的软件架构,其特征在于:所述基础设施层包含有数据库组件、数据库实体包、通用工具包。
7.根据权利要求1所述的一种基于领域控制设计模式的软件架构,其特征在于:所述代码包是按照业务划分领域边界后,其中是否有自己的独立的业务逻辑部分来进行划分。
8.根据权利要求1所述的一种基于领域控制设计模式的软件架构,其特征在于:所述基础设施层用于提高软件的复用性,并且成为各个业务层之间可以通用的数据语言,以及可以通用的工具、算法。
技术总结本发明属于计算机应用软件开发领域,具体的说是一种基于领域控制设计模式的软件架构,该软件架构包括代码包;所述代码包包括接口层、应用层和基础设施层;应用层:定义抽象的业务逻辑流程,并对业务步骤逻辑流程进行具体操作;应用层的子层‑业务服务层将业务逻辑委派给业务组件执行,接口层同时可以控制输入、输出协议,适配不同客户端进行命令、数据交互,这样实现了领域边界清晰,低耦合高内聚的软件设计架构,以此降低代码耦合度,增强了扩展性,业务逻辑高度内聚,提高了可读性,组件复用性提高,使得软件体积减小,高度解耦合的组件式结构,降低了软件腐化的速度,并且有利于软件的局部重构。技术研发人员:李帅,吴俊,赖流奇,李红毅,毛博宇受保护的技术使用者:重庆云铭科技股份有限公司技术研发日:技术公布日:2024/8/20本文地址:https://www.jishuxx.com/zhuanli/20240822/279841.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表