Factory Method Pattern - MacKittipat/note-design-pattern GitHub Wiki Handle the detail of object creation. Encapsulate object creation. Apply Open-Close principle and Dependency inversion principle