12/18 head first design pattern
observer pattern
decorator pattern
factory pattern
command pattern