zoukankan      html  css  js  c++  java
  • 简述DDD,战略设计

    • 从What、How、Why三个层面进行了梳理。

    What:DDD是什么?
    DDD是用来解决软件复杂度的问题,是一种软件思想。

    Why:为什么DDD可以解决软件复杂度?
    对于规模造成的复杂度,可以借助限界上下文进行分而治之;
    对于结构造成的复杂度,可以借助分层架构进行层次梳理,每层的关注点分离。
    对于变化造成的复杂度,以领域为核心,帮助我们尽早的识别变化,通过高内聚低耦合的设计,来提高程序的扩展性。

    How:DDD是如何解决复杂度的问题?
    DDD从战略和战术两个层面来解决。
    战略层面:强调以领域为核心,主要有两个方面:限界上下文和分层架构,其本质都是关注点分离。
    通过借助6W模型、用例和用户故事等手段提炼领域知识,进而形成统一语言。
    统一语言指导我们进行限界上下文的识别和划分(从业务边界、团队边界和技术边界)。
    基于限界上下文建立领域模型,再根据领域模型指导程序设计。
    战术层面:主要指导我们如何进行程序设计。其引入了实体、值对象、聚合、领域服务、领域事件、工厂、仓储、应用服务等一系列概念,来讲解程序设计的最佳实践。

  • 相关阅读:
    qt一直编译
    JavaWeb-国际化之Locale
    JavaWeb-文件下载
    JavaWeb-文件上传案例
    JavaWeb-使用fileload组件
    JavaWeb—文件上传基础
    JavaWeb-其他Listener监听器(3)
    JavaWeb-其他Listener监听器(2)
    JavaWeb-其他的servlet监听器(1)
    JavaWeb——通过Listener理解域对象生命周期
  • 原文地址:https://www.cnblogs.com/weilai1917/p/12376891.html
Copyright © 2011-2022 走看看