DDD(领域驱动设计)

本文深入探讨了领域驱动设计(DDD)的概念,由Eric Evans提出,旨在通过建立领域模型来应对大型软件系统的复杂性。文章详细讲解了DDD的实施过程,包括与领域专家合作、划分子领域、建立模式等关键步骤,并介绍了架构设计中的重要概念如spi、api及各层级的职责。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一:DDD(Domain-Driven Design 领域驱动设计)

Domain:领域

Driven:驱动

Design:设计

由Eric Evans最先提出,目的是对软件所涉及到的领域进行建模,以应对系统规模过大时引起的软件复杂性的问题。整个过程大概是这样 ,开发团队和领域专家一起通过“通用语言(Ubiquitous Language)”去理解和消化领域知识,从领域知识中提取和划分为一个一个的子领域(核心子域、通过子域、支撑子域),并在子域上建立模式,在重复以上步骤,这样周而复始,构建出一套符合当前领域的模型。

二:架构

  • spi:服务商使用
  • api:外部接口使用
  • 名词:基础中间件、流程编排、域能力、依赖层、服务、引擎、变现层、数据模型、领域模型
  • 目录结构
baidu-domain-demo 领域层,包含核心域的业务规则抽象,是能够标准化的,不依赖于任何其他层的内容,抽象程度最高     
    baidu-domain-demo-client 
        |--service 接口   
    baidu-domain-demo-service  (类以DomainService结尾)
        |--单域服务实现  
         |--service 接口
                      |-- impl     接口实现                                
    baidu-domain-demo-core  (类以Repo结尾) 
        |--model           领域模型对象
        |--extension       领域扩展点
        |--manager         调dao接口做数据转换
    baidu-domain-demo-dal      (类以DAO结尾)        数据层,主要为数据库操作
        |--dao             数据模型操作
        |--do              数据库映射对象
        |--query           只解决页面查询对象


project-demo 项目工程
    |-- start                  启动
        |--start 
            |--Application     应用启动类
    |-- common
        |-- constants    各种常量
        |-- message      消息相关
        |-- util         工具
    |-- integration  接口整合
        |--xxSDK    各种sdk接口
    |-- business demo 业务工程
        |-- biz
            |--api          api
            |--enums        枚举
            |--message      消息
            |--model        DO->model
            |--convert      对象转换
            |--service      接口
                |--impl     接口实现
            |--spi          spi
            |--util         工具
            |--xxx业务功能   业务功能
        |-- engin           工程
            |--api          api
                |--impl     api实现
            |--engin
                |--xxx功能点

提炼领域知识:who、what、why

分析业务:结构化分解

抽象、应用、平台化、产品化

应用架构核心:抽象、复用、能力下层

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南无南有

为绿色加绿叶

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值