The least possible is the best possible. When you focus on just the essential aspects in your design, you can make the best of their purity. For example, the clean feel of a UI with well-defined, ...
Gamma, E. et al. Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1994 Hiroshi Yuki. Learning Design Patterns in Java [In Japanese Language], Softbank publishing, 2004 ...