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. NPM 与 Nodejs

    安装了Nodejs之后,NPM也安装好了 如何知道当前是否已经安装Nodejs和NPM了呢? node -v //查看当前nodejs的版本 npm -v //查看当前npm的版本 NPM 初始化 n ...

  2. 如何浏览github上所有的公开的项目?

    github 上面项目多如牛毛,没有维护的.没有意义的或太过偏门的项目也是数不胜数,所以直接按照字母或者更新顺序浏览实在没什么意义. 有一个做法是去 github 搜 awesome list,比如通 ...

  3. LightOJ - 1038 Race to 1 Again —— 期望

    题目链接:https://vjudge.net/problem/LightOJ-1038 1038 - Race to 1 Again    PDF (English) Statistics Foru ...

  4. win下发现两个有用的快捷键

    调出命令行工具:win+x然后a.默认是cmd的管理员模式,可以改成powershell. 从当前目录打开命令行:shift + 鼠标右键

  5. Linux三种网络-vmware三种网络模式

    Host-Only 桥接 NAT VMware虚拟机三种联网方法及原理 一.Brigde——桥接:默认使用VMnet0 1.原理: Bridge 桥"就是一个主机,这个机器拥有两块网卡,分别 ...

  6. BZOJ 1041 [HAOI2008]圆上的整点:数学【费马平方和定理】

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1041 题意: 给定n(n <= 2*10^9),问你在圆x^2 + y^2 = n^ ...

  7. [原创]java在线打开PDF文档

    步骤一:(涉及到的工具) 访问:http://www.zhuozhengsoft.com/dowm/,从官网下载PageOffice for Java. 步骤二:(配置工程) 1. 解压PageOff ...

  8. C#多线程编程介绍——使用thread、threadpool、timer

    C#多线程编程介绍——使用thread.threadpool.timer 在system.threading 命名空间提供一些使得能进行多线程编程的类和接口,其中线程的创建有以下三种方法:thread ...

  9. 基于jQuery Ajax实现无刷新文件上传

    最近因项目需求更改,需要实现选择文件后即时上传至服务器,然后提交后,加载xls表格内容到jqgrid表格中,文件上传功能实现示例: 前端jsp页面: <form id="uploadF ...

  10. [HAOI 2011] Problem A

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2298 [算法] 考虑用总人数 - 最多人说真话 显然 , 对于每个人 , 如果他说的 ...