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. Machine Learning No.2: Linear Regression with Multiple Variables

    1. notation: n = number of features x(i) = input (features) of ith training example  = value of feat ...

  2. HTML5/CSS3淡入淡出滑块焦点图

    在线演示 本地下载

  3. "flash download failed - Target dll has been cancelled"错误解决办法

    在用mdk通过stlink烧写官方例程到stm32f429I discovery时,烧写了十来个程序都没问题,突然在烧写一个程序时, 弹出了“flash download failed - Targe ...

  4. BZOJ_2111_[ZJOI2010]Perm 排列计数_树形DP+组合数学

    Description 称一个1,2,...,N的排列P1,P2...,Pn是Magic的,当且仅当2<=i<=N时,Pi>Pi/2. 计算1,2,...N的排列中有多少是Magic ...

  5. Python基础入门知识

    本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语 ...

  6. PowerShell自动部署网站—(1)、安装IIS[添加角色和角色服务]

    #------添加角色/角色服务------ Import-Module servermanager $features = get-windowsfeature Net-*,Telnet-*,Web ...

  7. C# 架构模式

    单例模式 (Singleton) 单例讲的是当一个类被初次调用时,会产生一个类的实例, 而这个类的实例会贯穿程序的整个生命周期.单例提供了一个全局.唯一的实例. 步骤:1.让类自己创建一个实例:2.提 ...

  8. AndroidStudio启动时不自动打开项目

    取消勾选Reopen last project on startup选项 点击 OK 就行了

  9. gitea (git服务器), 修改配置,更换IP地址

    使用的gitea项目管理git 服务器 (可以不用备份项目, 通过直接修改gitea配置, 直接使用) 步骤1 可以直接访问项目, 步骤2 ,如果已有项目IP地址固定为192.168.1.x, 新的I ...

  10. The Tomcat server configuration at \Servers\Tomcat v8.0 Server at localhost-config is missing. Check the server for erro

    解决方案 1.选择Eclipse工具栏中的Windows→Perferences 2.remove已经创建的server 3.选择Add重新添加,选择create anew local server ...