a simple Java project to demonstrate design pattern