模块划分-4 模块划分

本文介绍了模块划分的设计思维,包括区分层、功能模块和细粒度模块的概念,强调设计需细化到细粒度模块。通过封装驱动设计方法-EDD,分为研究需求、粗粒度分层和细粒度模块划分等步骤。细粒度模块划分技巧包括分层细化、分区、通用模块分离和通用机制的框架化。该方法有利于提高模块的重用性和关注点分离,但也存在掌握难度较大的缺点。
摘要由CSDN通过智能技术生成

1、设计思维融合

把层、功能模块、细粒度模块三个概念分清楚。

  • 功能模块是粗粒度的,一般对应一个功能组,最大的用途是基于功能模块进行开发小组分工。
  • 层也是粗粒度的,UI交互层封装人机交互、系统交互层封装硬件访问和外部系统交互、数据管理层封装DB和File和Flsh存储。
  • 模块划分设计需要进一步设计到细粒度模块一级。
    • 一个细粒度模块,必然位于架构的某一层中。
    • 一个细粒度模块,一般也都会属于某个更大粒度的功能模块内。
    • 如果架构设计“止于功能模块划分”或者“止于粗粒度分层”,则以为着设计不足、还要继续。

2、封装驱动设计方法-EDD

包含4个步骤:

  • 研究需求。
    • 对模块划分促进最大的需求成果是上下文图和功能树。
    • 带着质疑的心态去研究、评价、确认,一旦发现问题,第一时间提出。
  • 粗粒度分层
  • 细粒度划分模块。
  • 用例驱动的模块划分结构评审、优化。
    • 系统难点部分的设计,可多使用用例驱动方法。
    • 场景和用例,也是驱动设计评审的核心思维。

3、细粒度模块的划分技巧

3.1、分层细化

在粗粒度层内进一步“封装”职责形成更细致的层次结构,称之为sub-layer。

3.2、分区

将层内支持不同功能组的职责分别“封装”到“细粒度模块”中,从而使每个“粗粒度功能模块”由一组位于不同“层”的“细粒度模块”组成。

3.3、通用模块的分离

通用模块的分离,有利于提高重用性、减少重复代码。

  • 高层模块应有较高的扇出,低层模块特别是底层模块应有较高的扇入。
  • 扇入
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值