Abstract factory pattern - Wikipedia, the free encyclopedia