Java programs to demonstrate the use of different Design Patterns