Assume you are asked to re-implement the notification part of e.centennialcollege.ca by using observer pattern. When there is a new grade item released or the assignment due date is two days away, those students who register the notification could receive email, or SMS message, or Twitter message.
You are asked to apply observer pattern in your implementation, and not allowed to use Java built-in support for observer pattern.
You also need to provide the class diagram of your solution.
Create a driver class to test your implementation.