欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

结合DDD设计理念实现零编码

程序员文章站 2024-01-09 19:56:04
实际开发工作中,往往会对系统进行领域模型的设计,设计系统的可扩展性、健壮性等。同时也避免不了对数据的基本管理,比如增删改查、接口的定义与实现等。有些工作其实是类似的重复的,与业务逻辑关系不大的,这些工作往往可以通过系统自动完成,进而可以将人力成本主要集中在领域模型的设计与实现上。DDD设计理念一般分几层,分别是:表现层:主要用于与外界的交互,包括UI界面、开放接口等应用层:面向用例的,复杂服务的编排等领域层:核心业务逻辑层基础设施层:用于对外交互,比如数据库、消息、搜索等.....

实际开发工作中,往往会对系统进行领域模型的设计,设计系统的可扩展性、健壮性等。同时也避免不了对数据的基本管理,比如增删改查、接口的定义与实现等。有些工作其实是类似的重复的,与业务逻辑关系不大的,这些工作往往可以通过系统自动完成,进而可以将人力成本主要集中在领域模型的设计与实现上。

 

DDD设计理念一般分几层,分别是:

表现层:主要用于与外界的交互,包括UI界面、开放接口等

应用层:面向用例的,复杂服务的编排等

领域层:核心业务逻辑层

基础设施层:用于对外交互,比如数据库、消息、搜索等

 

如下图所示,理论上开发人员应该专注于领域层的设计与开发,只需要实现领域层的逻辑,其他层的代码都应该可以自动生成。

结合DDD设计理念实现零编码

 

为了实现这个小目标,调研了业界做得比较好的框架,用得比较广泛的就是MybatisGenerator。故基于该框架实现了一套零编码平台。

 

实现零编码的核心架构

结合DDD设计理念实现零编码

 

运行之后自动生成核心模块,如下图

结合DDD设计理念实现零编码

 

使用说明

 一、配置项

1. 配置application.properties,主要配置数据库连接信息以及项目、包路径信息

 

二、三种运行方式

1. 一次运行,生成`client、dal、serviceImpl`三个核心模块, 详情参考com.rhc.auto.App

2. 根据自己需要,单独生成`client、dal、serviceImpl`任意模块中的任意代码,详情参考`com.rhc.auto.App`

3. 也可以按需生成自己想要的`repository`代码

    - 详细的使用方式见:`com.rhc.auto.codegen.repository.RepositoryGenerator`

4. 与UI界面的交互

    - 通过配置前端与后端的交互字段,自动生成web层代码,自动根据与前端的交互字段生成对应的后端代码,

    详见`com.rhc.auto.codegen.web.SevenGroovyGenerator`

 

更多平台源码下载地址及使用方式,请使用微信扫描以下二维码查看

结合DDD设计理念实现零编码

 

 

 

 

 

 

 

本文地址:https://blog.csdn.net/qq_42672856/article/details/107592425