GoF Design Pattern