Design Pattern Notebook Notebook Factory Method Pattern Builder Pattern Composition over Inheritance Observer Pattern