知识卡片

EDD封装驱动设计方法的四个步骤

结构图卡

内容

封装驱动设计方法(Encapsulation-Driven Design,EDD方法)的目的是细粒度模块划分,特点是综合运用分层、分层细化、功能模块、通用模块、通用机制框架化等多种手段——这正是对[[模块划分的四种思路]]的整合应用,而不是又一种孤立的新方法。EDD方法包含四个步骤。第一步,研究需求:对模块划分促进最大的需求成果是上下文图和功能树,这一步不是泛泛地”知道一下”,而是设计者要带着质疑的心态去研究、评价、确认,一旦发现问题第一时间提出,不能带着有缺陷的需求输入往下走。第二步,粗粒度分层:运用[[分层架构的核心思想封装外部交互]](第13章)的方法确定UI层、系统交互层、问题领域层、数据管理层这类粗粒度骨架。第三步,细粒度划分模块:这是EDD方法的核心展开部分,运用分层细化、分区、通用模块分离、通用机制框架化等具体技巧(本章下一节详细展开)。第四步,用例驱动的模块划分结构评审、优化:系统难点部分的设计可以多用[[用例驱动模块划分的两环节四步骤]](第14章)的方法,场景和用例是”驱动”设计评审的核心思维——这一步不是从头再设计一遍,而是拿已经划分好的粗粒度+细粒度结构,用具体用例去检验它是否真的能顺畅支撑功能实现,发现问题就据此优化调整。这四个步骤呈现出一条清晰的”先粗后细、先构建后验证”的主线:先用需求(上下文图+功能树)打底,再用分层搭出粗骨架,再用多种技巧精细化到细粒度模块,最后用用例驱动的方式回头检验和优化整个结构。

结构图

flowchart LR
    A["第1步:研究需求\n(上下文图+功能树,带质疑心态)"] --> B["第2步:粗粒度分层\n(第13章方法)"]
    B --> C["第3步:细粒度划分模块\n(分层细化/分区/通用模块分离/通用机制框架化)"]
    C --> D["第4步:用例驱动的\n模块划分结构评审、优化\n(第14章方法)"]
    D -.->|"发现问题回头优化"| C

参考来源

- 位置:《软件架构设计:程序员向架构师转型必备》第15章《模块划分的4步骤方法——运用层、模块、功能模块、用例驱动》"15.2.1 封装驱动设计的4个步骤"节(源文件:_epub-src/OEBPS/text00018.html) - 结论依据:原文列出"研究需求……粗粒度分层……细粒度划分模块……用例驱动的模块划分结构评审、优化"四个步骤及各自要点,并说明"综合运用分层、分层细化、功能模块、通用模块、通用机制框架化等多种手段,是该方法的特点",直接支撑本卡片结论与结构图。 - 原始内容:封装驱动设计方法包含4个步骤……研究需求……粗粒度分层……细粒度划分模块……用例驱动的模块划分结构评审、优化……场景和用例,也是"驱动"设计评审的核心思维。