add abstract_factory.png