Since changing interfaces breaks clients you should consider them as immutable once you've published them.
The best designers will use many design patterns that dovetail and intertwine to produce a greater whole.
Design Patterns - Elements of Reusable Object-Oriented Software