Observer design patterns in Java, A design pattern that helps in solving dependency issues in objects and also defines a one to many relationship among objects.