Across
- 3. Each unit should only talk to friends
- 4. Many specific interfaces are better than one general interface
- 8. Hiding the Details
- 10. Basing an object on another object
- 15. Pattern category related to algorithms within objects
- 19. The cost of delay may be less than the cost of carry
- 21. An object that references other objects
- 22. Leave things better than you found them
- 23. All knowledge must have a single source
Down
- 1. Pattern category related to inter object structures
- 2. Pattern to attach new behaviors without changing base objects
- 5. Pattern category related to creation mechanisms
- 6. Take what varies and encapsulate
- 7. A base class should not depend on any of its derived classes
- 9. Subclasses can replace Superclasses
- 11. Pattern to define a subscription and notification method
- 12. When possible use composition instead of inheritance
- 13. Strive for low coupling
- 14. A component has only one job it is to do
- 16. Open for extension but closed for modification
- 17. Simple is usually better
- 18. The ability to take on multiple forms
- 20. Pattern to define a family of algorithms that is interchangeable in a context
