Examples of OO Design Patterns