Demonstration of OOP Design Patterns