《软件设计重构》读书笔记(4)-模块化封装缺陷

模块化原则倡导利用集中和分解的手法创建高内聚,低耦合的抽象。请参见下面的逻辑结构图。


下面详细说明每种模块化封装缺陷。

拆散的模块化 缺陷

【概念定义】应该集中放在一个抽象中的数据和方法被分散到多个模块中。主要表现形式为:1)类被作为数据容器;2)类中的方法大多数被其他类调用。

【违反原则】模块化原则

【缺陷实例】某个订单系统中,保存订单状态的类和订单的操作方法分散在不同的类中。客户代码甚至可以直接修改订单状态,导致系统崩溃。

【重构建议】将订单状态类和操作类合并,避免客户端直接修改代码。

【现实考虑】在方便同步,数据操作等使用的DTO对象不算作违反模块化原则。

不充分的模块化 缺陷

【概念定义】抽象分解的不彻底,可以通过进一步分解降低系统的复杂度。主要包括两种表现形式:1)臃肿的接口;2)臃肿的实现类。

【违反原则】分解原则,接口隔离原则

【缺陷实例】java.util.Calendar类就过于庞大,可以进一步进行分解和抽象。

【重构建议】对于臃肿的接口,可以按如下方式进行重构。1)如果接口中的部分成员方法关系紧密,就将这些方法提取到一个新的接口中;2)如果接口中的方法可以分成多个组࿰

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值