Hierarchy Smells
Abstract
A hierarchical organization of entities offers a powerful means to deal with complex relationships among real-world entities; it helps one to order the entities, deal with similarities and differences, and think in terms of generalizations and specializations. This chapter discusses the principle of hierarchy and key enabling techniques (i.e., apply meaningful classification, apply meaningful generalization, ensure substitutability, avoid redundant paths, and ensure proper ordering) that allow us to apply the principle of hierarchy in software design. This is followed by a detailed description of the following design smells that result from the violation of the principle of hierarchy: Missing Hierarchy, Unnecessary ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access