Coder Social home page Coder Social logo

ddd-springboot-leave-example's Introduction

项目介绍

  • 项目名称:基于ddd架构的请假审批示例
  • 架构:改良版的DDD架构,将领域层放到最下面,架构图如下 DDD改进版DDD架构图
  • DDD开源框架:com.codingapi.springboot
  • 使用技术:SpringBoot、Jpa、Jwt
  • 开发语言:java
  • 开发工具:idea
  • 数据库:Mysql

接口功能列表

  • 创建用户

  • 用户登录

  • 查看用户列表

  • 发起请假

  • 我的请假列表

  • 用户登录

  • 我的审批列表

  • 请假审批

  • 请假详情

项目背景

为了学习ddd开发流程,初步了解ddd的基本概念,完成ddd简单的入门,所以就有了这个项目。 本项目基于lorne大佬提供的示例手动敲写哦, 强烈推荐去看看大佬的视频和github:

测试相关

接口:参考docs/postman/请假审批API.postman_collection.json, 直接导入postmain就可以了 sql:参考docs/sql/leave.sql,直接导入数据库就可以了

推荐DDD的三个理由

  • 业务逻辑可视化
  • 灵活的业务拓展性
  • 轻量化的业务单元测试

领域驱动设计开发流程

  • 事件风暴:可以用Mural和小画桌这样的软件来完成

事件风暴

  • 划分子域:根据事件风暴划分

  • 设计模型:根据事件风暴提取核心模型,使用UML完成模型设计

请假审批UML

  • 编写domain代码&单元测试:编写domain领域层的代码,并完成单元测试的编写,如果单元测试覆盖率高于60%,说明模型质量是可一保证的

代码覆盖率

  • 集成业务:验证单元测试与事件风暴中核心流程无偏差,严格使用改良版ddd架构去按照层次去落地。

项目架构

推荐的框架与软件

ddd-springboot-leave-example's People

Contributors

qfmx avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.