本系列文章
DDD实战进阶第一波(一):开发一般业务的大健康行业直销系统(概述)
DDD实战进阶第一波(二):开发一般业务的大健康行业直销系统(搭建支持DDD的轻量级框架一)
近年来,关于如何开发基于业务的软件系统与产品一直是软件行业的一个重要内容。对于架构师与软件开发人员来说,开发此类系统头痛的问题大概是以下几个方面:
1.如何将需求准确的转为软件的设计?
2.系统的架构与代码如何有效的体现我们的设计?
3.如何将领域逻辑与技术分离?
4.如何能够让团队人员的开发能够专注与业务,而不是技术本身?
5.如何交付高质量的软件,如何在出现问题时能够快速定位到代码?
6.如何快速响应需求的变更?
7.如何能够有一个框架或思想限定,让开发人员遵循一个约束,有节奏感的开发?
为了解决以上问题,软件行业提出了一个成熟的思想(或叫方法论):领域驱动设计(DDD)。通过DDD,我们能够很好的对需求应对到设计,能够让开发聚焦业务本身,能够让代码体现我们设计,
能够让团队在一个框架内有节奏的开发。
有些开发人员或架构师也许了解过DDD,但总时认为很难落地,本系列文章就是通过一个大健康行业的直销系统实战案例,让大家了解如何能够基于DDD的思想和框架,开发一个业务系统。
本系列文章将达到以下几个目的:
1.熟悉DDD基本概念。
2.基于DDD基本概念构建一个轻量级的框架。
3.基于DDD设计与开发一个实际的直销系统的后端。
4.能够举一反三,开发其他的业务系统或产品。
5.本系列文章不涉及高性能、大并发的系统开发。
本系列文章需要你具备的技术基础:
1.熟悉C#。
2.熟悉Asp.net 或Asp.net Core。
3.熟悉EF或EF Core。
4.有一定的系统开发经验。
本系列文章大体的内容安排:
1.直销系统概述。
2.DDD基本概念、开发支持DDD基本概念的轻量级框架。
3.开发直销系统的产品上下文。
4.开发直销系统的经销商上下文。
5.开发直销系统的订单上下文。
6.简单了解对前端的其他支持、前端的开发。
直销系统需求(裁剪后,便于大家理解DDD应用即可)概述:
一.产品管理
1.产品上架,产品分为主产品与多个子产品规格。
2.子产品用于经销商购买。
3.子产品有价格与相应的PV(PV用于经销商购买产品后累加,用于核算经销商奖金)。
二.经销商发展
1.子经销商由上级经销商介绍并注册。
2.根据注册时的电子币确定子经销商的会员级别。
3.被注册的子经销商属于一个介绍层级。
4.一个经销商最多介绍两个子经销商。
三.产品下单
1.经销商通过电子币购买产品。
2.确定邮寄地址。
3.其他功能与普通电商类似。
QQ讨论群:309287205
DDD实战进阶视频请关注微信公众号: