重构 — 改善既有的类图设计 条款2:流水不争先
2008-05-07 09:40
363 查看
2008-05-06 | 重构 — 改善既有的类图设计 条款2:流水不争先
标签: 重构 C++ 设计重构 — 改善既有的类图设计 条款2:流水不争先
黄国强 2008/5/6
“流 水不争先”这句极其经典的名言,出自于日本棋坛名宿,久负盛名的名誉本因坊高川秀格。他认为,下棋犹如行云流水,动静之间,应该不急不噪,即使局面的暂时 落后,也应该心平气和,耐心等待机会。(此行文字转自 http://article.rongshuxia.com/viewart.rs?aid=627582)
我以前酷爱围棋,书也买了几十本。故引用此句来说明我对设计图依赖关系流向的认识。看图 1。
图 1
图中这个设计本身没有问题,只是依赖关系复杂导致识图困难。故应该改造成如图2形式。
图 2
我的总结:类图的依赖关系的走向应该向水流一样,自上而下,非常自然的流淌。把依赖别的类的写在上边,把被别人依赖的写在下边。
相关文章推荐
- 重构 — 改善既有的类图设计 条款5:给工厂加一个代理
- 重构 — 改善既有的类图设计 条款1:将双向依赖改变成单向依赖
- 重构 — 改善既有的类图设计 条款12:消除聚合内部的返回参数的复制
- 重构 — 改善既有的类图设计 条款11:去除对聚合内部的引用
- 重构 — 改善既有的类图设计 条款6:模块的防火墙
- 重构 — 改善既有的类图设计 条款7:为每个角色增加一个接口
- 重构 — 改善既有的类图设计 条款8:消除继承类和基类中重复的依赖关系
- 重构 — 改善既有的类图设计 条款15:区分基类和接口
- 重构 — 改善既有的类图设计 条款10:将多个接口的实现类合并成一个
- 重构 — 改善既有的类图设计 条款16:每个类只包含两个聚合箭头
- 重构 — 改善既有的类图设计 条款4:消除重复的依赖关系
- 重构 — 改善既有的类图设计 条款9:用Pimpl惯用法隐藏细节
- 重构 — 改善既有的类图设计 条款3:用 FACADE 类消除依赖关系的交叉
- 重构 — 改善既有的类图设计 条款13:用观察者模式来维护概念的完整性
- 重构 — 改善既有的类图设计 条款14:将多个继承类对外部的依赖上移至基类
- 《重构,改善现有代码的设计》第八章 Duplicate Observed Data
- 《重构 改善即有代码的设计》笔记
- 01重构_改善既有代码的设计阅读笔记之一
- 《重构--改善既有代码的设计》总结一之重构原则
- PHP 杂谈《重构-改善既有代码的设计》之三 重新组织数据