Object-Oriented Design Patterns (OODP)