UML 与重构
【简单】UML 有哪些图?类图中有哪些关系?⭐⭐
🎯 目标等级:L2 | ⏱ 建议用时:8 min | 🏷 标签:UML 与重构 / UML
💎 关键结论
UML 2.x 共两大类 14 种图:结构图 7 种(类图最常用)+ 行为图 7 种(时序图最常用)。类图六种关系按耦合由弱到强:依赖 < 关联 < 聚合 < 组合 < 泛化/实现;聚合与组合的区别看“部分离开整体能否独立存在”——班级与学生可分离是聚合,人与心脏同生共死是组合。
🎯 目标等级:L2 | ⏱ 建议用时:8 min | 🏷 标签:UML 与重构 / UML
UML 2.x 共两大类 14 种图:结构图 7 种(类图最常用)+ 行为图 7 种(时序图最常用)。类图六种关系按耦合由弱到强:依赖 < 关联 < 聚合 < 组合 < 泛化/实现;聚合与组合的区别看“部分离开整体能否独立存在”——班级与学生可分离是聚合,人与心脏同生共死是组合。
翻译自:https://sourcemaking.com/refactoring/smells/bloaters
代码臃肿(Bloated)这组坏味道意味着:代码中的类、函数、字段没有经过合理的组织,只是简单的堆砌起来。这一类型的问题通常在代码的初期并不明显,但是随着代码规模的增长而逐渐积累(特别是当没有人努力去根除它们时)。
翻译自:https://sourcemaking.com/refactoring/smells/change-preventers
变革的障碍(Change Preventers)这组坏味道意味着:当你需要改变一处代码时,却发现不得不改变其他的地方。这使得程序开发变得复杂、代价高昂。
翻译自:https://sourcemaking.com/refactoring/smells/oo-abusers
滥用面向对象(Object-Orientation Abusers)这组坏味道意味着:代码部分或完全地违背了面向对象编程原则。
翻译自:https://sourcemaking.com/refactoring/smells/couplers
耦合(Couplers)这组坏味道意味着:不同类之间过度耦合。
不完美的库类(Incomplete Library Class)
当一个类库已经不能满足实际需要时,你就不得不改变这个库(如果这个库是只读的,那就没辙了)。
翻译自:https://sourcemaking.com/refactoring/smells/dispensables
非必要的(Dispensables)这组坏味道意味着:这样的代码可有可无,它的存在反而影响整体代码的整洁和可读性。