[Add Feature]
Add codes of Abstract Factory.