ARPN Journal of Science and Technology Logo

ARPN Journal of Science and Technology >> Volume 7, Issue 1, January 2017

ARPN Journal of Science and Technology

Simplifying the Abstract Factory and Factory Design Patterns

Full Text Pdf Pdf
Author Egbenimi Beredugo Eskca, Sandeep Bondugula, El Taeib Tarik
ISSN 2225-7217
On Pages 789-794
Volume No. 4
Issue No. 12
Issue Date January 01, 2015
Publishing Date January 01, 2015
Keywords Factory, Abstract factory, Pattern, Base, Interface, Concrete, Class, Implementation


The goal of this research paper is to make a clear and simple distinction between the factory and the abstract factory patterns. As a result of the similarities between these two patterns, understanding the unique and appropriate design requirement that calls for the application of each of these patterns has been a challenge to inexperience object oriented programming (OOP) programmers, as well as experienced OOP programmers that are new to the idea of design patterns in functional software development. Our objective in this research paper is to clarify the meaning as well as the usage of these two very important design patterns, in a manner that would make sense to new comers in the design pattern arena. We commence by giving a descriptive definition of both patterns followed by a more specific definition of the patterns in line with OOP concepts. Following the definition, is an illustration of each of the design pattern in simple diagrammatic form. Furthermore, we have made an effort to help the new comers to design patterns to quickly and easily identify scenarios and problems definitions where the adoption of each of the design pattern is necessary and appropriate. We have also attempted to ensure that, new comers, on identifying the need to apply either the factory or the abstract factory pattern in the solution to a problem, should also match these requirements with the core OOP concepts of encapsulation, inheritance and polymorphism. Following the preceding sections, we have included a dialogue between members of a small software development team in the identification and analysis stage of a software solution that requires the implementation of the factory as well as the abstract factory patterns. We finalize the paper with a C++ code section to illustrate the implementation of the abstract factory pattern. We conclude with a word of advice for new programmers and programmers that are unfamiliar with the concept of design patterns, as well as suggestions for future research that would attempt to simplify and demystify the use of design patterns for new comers to this arena.

    Journal of Computing | Journal of Systems and Software     
2014 ARPN Publishers