DMVP,全称DDD-MVP,是基于领域驱动设计(DDD)搭建的业务框架,整体设计符合DDD领域模型的规范,业务上达成了领域模型和代码的一一映射,技术上达成了高内聚低耦合的架构设计,开发人员不需要关注DDD框架设计,只需专心写业务逻辑即可,节约了人力成本。

DMVP框架特点:

1:通过页面简单配置,即可生成规范的DDD战术框架,只需在框架内实现业务逻辑即可。

2:代码和领域模型的统一对应,制定了领域模型和代码的对应规范,做到代码即领域模型,即业务。

3:框架由多年实战经验总结而成,实战过大型互联网分布式项目,期间框架历经多次改版。

4:框架设计思想和套路属于DDD实战先驱前列。

DMVP框架架构设计:

DMVP框架使用:

目前使用比较简单,准备好业务的领域模型,在页面上进行录入,点击生成代码,即可生成标准DDD Maven工程,本地导入即可开发,使用步骤:

1:登陆框架首页,进行领域模型的录入。

2:点击生成代码按钮,后台生成代码框架后,浏览器自动下载,导入 idea,开始业务编码。

示例部分截图如下:

代码生成完成之后截图如下:

如何获得DMVP框架,扫描下方二维码即可获得,是收费的,付费之后你将获得4大特权:

1:整套框架的使用权限(非商用),视频直播讲解DMVP,知识星球有问必答(晚上或周末集中作答,好的提问会有代码演示)。

2:多年DDD战略战术套路总结,每周一篇,约40篇左右。

3:目前DMVP只是1.0版本,计划6月15号发布2.0,7月底发布3.0,每次版本都是不一样的产品使用姿势和体验,市面上绝没有第二款!

4:星球每增加20人,开一次直播,每次直播除了介绍框架,每次都会新出主题。

购买内三天内都可以退款的,你可以先买着试试看我们的框架,如果觉得和自己八字不合,欢迎退款,但请不要外泄,谢谢。

目前的DMVP还有很多优化正在进行中,针对每次完善我都会发起投票,听取大家的建议,让我们一起搭建DDD领域的最牛实战框架!

扫描二维码即可获得:

附上40课课程章节(DMVP框架已经完成,战略设计已完成30%):

战略设计

0 领域驱动设计学习路径

1 通用语言

· 1.1 通用语言的意义:理解需求的指南针

· 1.2 通用语言的定义和表达

·1.3 快速挖掘通用语言的方法

· 1.3.1 抓住动词,扩展名词

· 1.3.2 思考问题本质的基本方法:WR原则

·1.4 快速转化为领域模型的方法

· 1.4.1 领域模型的图文表示法

· 1.4.2 对号入座法

· 1.4.2.1 实体

· 1.4.2.2 值对象

· 1.4.2.3 聚合

· 1.4.2.4 工厂

· 1.4.2.5 仓储

· 1.4.2.6 领域服务

·1.5 快速确立上下文边界的方法

· 1.5.1 上下文边界的定义和表达

· 1.5.2 领域归属-责任驱动法

· 1.5.3 领域联系-协作驱动法

战术设计

2 领域模型转化成数据模型的方法

· 2.1 通用建模方法

· 2.1.1 彩色uml建模法

· 2.1.2 uml建模法的运用

· 2.2 通用建模技巧

· 2.2.1 二级结构

· 2.2.2 type通用结构

3 代码如何体现领域模型

· 3.1 排版规范

· 3.1.1 system、module、package的业务组织方式

· 3.1.2 method,class等命名方式实体,值对象等等接口定义方式

· 3.2 领域构造规范

· 3.2.1 实体

· 3.2.1.1 实体的唯一标识,属性,行为和规约

· 3.2.1.2 实体行为的粒度和完整

· 3.2.1.3 实体的构造、存储和获取

· 3.2.2 值对象

· 3.2.2.1 构造和获取

· 3.2.2.2 值对象实例的多变化、在架构之间的传递。

· 3.2.3 领域服务

· 3.2.3.1 两种领域服务的实现

· 3.3 领域生命周期规范

· 3.3.1 聚合

· 3.3.1.1 聚合的作用,如何构造和获取

· 3.3.1.2 聚合的粒度、组成范围(业务范围的控制)

· 3.3.1.3 聚合行为定义和实体行为的区别、聚合如何暴露实体的行为

· 3.3.2 工厂

· 3.3.2.1 工厂的作用

· 3.3.2.2  build+factory两种模式

· 3.3.3 仓储

· 3.3.3.1 狭义仓储

· 3.3.3.2 广义仓储

4 架构的实战应用

· 4.1 多层架构

· 4.1.1 整体5层架构

· 4.1.2 应用层

· 4.1.3 领域层

· 4.1.4 基础设施层

· 4.1.5 SPI层

· 4.1.6 Controller层

· 4.2 DDD 和 Spring 架构的结合

· 4.2.1 new 和 Spring 容器间的艰难选择

· 4.2.2 和 Spring 架构的结合

· 4.2.3 依赖倒置和 Spring 框架的结合

· 4.3 简单六边形架构

· 4.3.1 上游复杂多变

· 4.3.2 核心保持不变

· 4.3.3 下游薄防腐层的出现

· 4.4 复杂六变形架构

· 4.4.1 流程编排的出现

· 4.4.2 核心不变粒度进行了优化

· 4.4.3 SPI层的演进

· 4.5 读写分离架构

· 4.5.1. 读写分离架构的思考

· 4.5.2 读写分离架构的实现

欢迎扩散,感谢。

领域驱动设计业务框架DMVP的更多相关文章

  1. 【DDD】领域驱动设计实践 —— 框架实现

    本文主要了在社区服务系统(ECO)中基于SpringMVC+mybatis框架对DDD的落地实现.本文为系列文章中的其中一篇,其他内容可参考:通过业务系统的重构实践DDD. 框架实现图 该框架实现基本 ...

  2. 【DDD】领域驱动设计实践 —— UI层实现

    前面几篇blog主要介绍了DDD落地架构及业务建模战术,后续几篇blog会在此基础上,讲解具体的架构实现,通过完整代码demo的形式,更好地将DDD的落地方案呈现出来.本文是架构实现讲解的第一篇,主要 ...

  3. 如何使用ABP进行软件开发(2) 领域驱动设计和三层架构的对比

    简述 上一篇简述了ABP框架中的一些基础理论,包括ABP前后端项目的分层结构,以及后端项目中涉及到的知识点,例如DTO,应用服务层,整洁架构,领域对象(如实体,聚合,值对象)等. 笔者也曾经提到,AB ...

  4. .NET应用架构设计—面向查询的领域驱动设计实践(调整传统三层架构,外加维护型的业务开关)

    阅读目录: 1.背景介绍 2.在业务层中加入核心领域模型(引入DomainModel,让逻辑.数据有家可归,变成一个完整的业务对象) 3.统一协调层Application Layer(加入协调层来转换 ...

  5. 基于“事件”驱动的领域驱动设计(DDD)框架分析

    摘抄自 从去年10月份开始,学了几个月的领域驱动设计(Domain Driven Design,简称DDD).主要是学习领域驱动设计之父Eric Evans的名著:<Domain-driven ...

  6. [转] DDD领域驱动设计框架分享

    从去年10月份开始,学了几个月的领域驱动设计(Domain Driven Design,简称DDD).主要是学习领域驱动设计之父Eric Evans的名著:<Domain-driven desi ...

  7. 【DDD】领域驱动设计实践 —— 业务建模实例(‘发布帖子’)

    本文是基于上一篇‘业务建模小招数’的实践,后面的多篇博文类似.本文主要讲解‘发表帖子’场景的业务建模,包括:业务建模.业务模型.示例代码:示例代码会使用java编写,文末附有github地址.相比于& ...

  8. 【我们一起写框架】领域驱动设计的CodeFirst框架(一)—序篇

    前言 领域驱动设计,其实已经是一个很古老的概念了,但它的复杂度依旧让学习的人头疼不已. 互联网关于领域驱动的文章有很多,每一篇写的都很好,理解领域驱动设计的人都看的懂. 不过,这些文章对于那些初学者而 ...

  9. 【DDD】使用领域驱动设计思想实现业务系统

    最近新接了一个业务系统——社区服务系统,为了快速熟悉和梳理老系统的业务逻辑和代码,同时对老系统代码做一些优化,于是打算花上一个月时间不间断地对老系统服务进行重构.同时,考虑到社区业务的复杂性,想起了之 ...

随机推荐

  1. spring-boot5代码

    App.java package com.kfit.spring_boot_mybatis; import org.mybatis.spring.annotation.MapperScan; impo ...

  2. hihocoder 微软编程之美2015 初赛 第二场(暴力+字典序+图论+思维算法)

    题目1 : 扑克牌 时间限制:2000ms 单点时限:1000ms 内存限制:256MB 描述 一副不含王的扑克牌由52张牌组成,由红桃.黑桃.梅花.方块4组牌组成,每组13张不同的面值.现在给定52 ...

  3. 蓝色科技AE宣传片头光晕视频

    蓝色科技AE宣传片头光晕视频素材,蓝色AE炫光素材,科技AE片头,精美,AE特效,绚丽,AE模板,视频素材,动画. 地址:http://www.huiyi8.com/xuanguang/ae/

  4. Tips:PowerDesigner16.5 图表显示Code以及 Columns新增Commet显示

  5. DLL进一步讲解:extern "C" __declspec(dllexport)

    一.__declspec(dllexport): 将一个函数声名为导出函数,就是说这个函数要被其他程序调用,即作为DLL的一个对外函数接口. 通常它和extern    "C"   ...

  6. hdu-5818 Joint Stacks(模拟)

    题目链接: Joint Stacks Time Limit: 8000/4000 MS (Java/Others)     Memory Limit: 65536/65536 K (Java/Othe ...

  7. Sysctl命令及linux内核参数调整

        一.Sysctl命令用来配置与显示在/proc/sys目录中的内核参数.如果想使参数长期保存,可以通过编辑/etc/sysctl.conf文件来实现.    命令格式:  sysctl [-n ...

  8. AtCoder Grand Contest 004 C:AND Grid

    题目传送门:https://agc004.contest.atcoder.jp/tasks/agc004_c 题目翻译 给你一张网格图,指定的格子是紫色的,要求你构造出两张网格图,其中一张你可以构造一 ...

  9. BZOJ1798:[AHOI2009]维护序列

    浅谈树状数组与线段树:https://www.cnblogs.com/AKMer/p/9946944.html 题目传送门:https://www.lydsy.com/JudgeOnline/prob ...

  10. vmware ubuntu14.04 忘记密码

    重置root密码 启动系统,一直点击esc键盘,出现如下界面,选择Advanced options for Ubuntu 按回车键确认: 选择recovery mode,按 e : 到 linux / ...