Impact of Design Patterns on Software Complexity and Size

  • Nosheen Qamar Department of Computer Science and Information Technology, University of Lahore, Lahore, Pakistan.
  • Ali Afzal Malik Department of Computer Science, National University of Computer and Emerging Sciences, Lahore, Pakistan.


Many different factors influence the quality of software. Among the most important of these factors is software complexity. One way to improve software quality, therefore, is to minimize its complexity making it more understandable and maintainable. The design phase of the software development life cycle plays an instrumental role in fostering quality in software. Seasoned designers often use past design best practices codified in the form of design patterns to make their designs and the resultant code more elegant, robust, and resilient to change. Little work, however, has been done to empirically assess the quantitative impact of design patterns on software complexity. This research is an attempt to fill this gap. A comparative analysis of before and after versions of program pairs written without and with design patterns was performed for all twentythree GoF (Gang of Four) design patterns. These program pairs were collected (or, in some cases, developed) and compared with respect to their complexity and size. The results of this comparative analysis reveal that the cyclomatic complexity of the programs written using design patterns was less for most of the design patterns as compared to the programs written without using design patterns. However, the values of CK metrics, number of classes, and software size SLOC (Source Lines of Code) increased when design patterns were used.

Apr 1, 2020
How to Cite
QAMAR, Nosheen; MALIK, Ali Afzal. Impact of Design Patterns on Software Complexity and Size. Mehran University Research Journal of Engineering and Technology, [S.l.], v. 39, n. 2, p. 342-352, apr. 2020. ISSN 2413-7219. Available at: <>. Date accessed: 01 june 2020. doi:
This is an open Access Article published by Mehran University of Engineering and Technolgy, Jamshoro under CCBY 4.0 International License