Architecture Smells
Smells
1. Ambiguous Interfaces
2. Architecture by Implication
3. Autogenerated Stovepipe
4. Connector Envy
5. Cover Your Assets
6. Dependency Cycles between Packages/Subsystems
7. Design by Committee
8. Extraneous Adjacent Connector
9. Feature Concentration
10. Inheritance between Protocol-Oriented Layers
11. Jumble
12. No Layers
13. No Subsystems
14. Overgeneralization
15. Package Hierarchies Unbalanced
16. Packages Not Clearly Named
17. References between Vertically Separated Layers
18. Reinvent the Wheel
19. Scattered Parasitic Functionality
20. Stovepipe Enterprise
21. Stovepipe System
22. Strict Layers Violated
23. Subsystem-API Bypassed
24. Subsystem-API Too Large
25. The Grand Old Duke of York
26. Too Large Packages/Subsystems
27. Too Many Layers
28. Too Many Subsystems
29. Too Small Packages/Subsystems
30. Unstable Dependency
31. Unused Packages
32. Upward References between Layers
33. Vendor Lock−In
34. Warm Bodies
35. Wolf Ticket
Go to Home