Originally posted by suriapps suriapps: I need clear explanation and examples on Abstract Factory pattern. And what is the difference between Factory Method pattern and Abstract Factory Pattern? thanks in advance.
Factory pattern is all about delegating the creation of a specific type to a derived class.Abastract factory is used to provide interface for the clients to get products related to each other. For Ex. SupplyCarParts(abstract factory) can have methods like Engine getEngine(); Body getBody(); Wheels getWheel(); Automobile manufacurerA implements methods in SupplyCarParts to return EngineA(a subclass of Engine),BodyA(a subclass of Body),WheelsA(a subclass of Weels) for building carA. Automobile manufacurerB implements methods in SupplyCarParts to return Engine(another subclass of Engine),BodyB(another subclass of Body),,Wheels(another subclass of Weels) for building carB. By using an abstract factory you ensure the clients for manufacuterA get only parts for carA and not engine of carA and body of carB. Implementation of methods in the abstract factory interface can be done in factoy methods. Hope this helps