The Evolution of Software Design Patterns: An In-Depth Review

Authors

DOI:

https://doi.org/10.69968/ijisem.2025v4i1163-167

Keywords:

Software design patterns or Design pattern, Design pattern detection (DPD) tools, Software quality and maintainability, Creational Pattern

Abstract

Design patterns are repeatable fixes for common issues in software design. Even if it's helpful for software analysis, finding design patterns may be difficult, particularly in big and intricate software systems. A number of tools have been put out in this area to automate this procedure. Review the many studies on software design patterns in the literature in this topic. This review highlights the varied impact of design patterns on software quality and maintainability. While some studies suggest that design patterns enhance software quality, others argue they can be detrimental, with results varying based on factors like failure rates, performance, and maintainability. Design patterns such as Data Management UI Page and Dependent Dropdown Filters improve consistency, code reuse, and development efficiency. Among 42 design pattern detection (DPD) tools, only ten are available online, with low detection accuracy and weak agreement among tools. GEML, a novel approach using evolutionary machine learning, improves detection accuracy but may generate false positives due to limited training data.

References

[1]. M. Z. Asghar, K. A. Alam, and S. Javed, “Software design patterns recommendation: A systematic literature review,” Proc. - 2019 Int. Conf. Front. Inf. Technol. FIT 2019, pp. 167–172, 2019, doi: 10.1109/FIT47737.2019.00040.

[2]. F. Al-Hawari, “Software design patterns for data management features in web-based information systems,” J. King Saud Univ. - Comput. Inf. Sci., vol. 34, no. 10, pp. 10028–10043, 2022, doi: 10.1016/j.jksuci.2022.10.003.

[3]. R. Moreira, E. FERNANDES, and E. FIGUEIREDO, “Review-based Comparison of Design Pattern Detection Tools,” SugarLoafPlop 2022 Lat. Am. Conf. Pattern Lang. Programs, Oct. 18, 2022, Online, vol. 1, no. 1, pp. 1–16, 2022.

[4]. H. Patel, “A research paper on software design patterns,” vol. 13, no. 01, pp. 803–813, 2024.

[5]. H. Zhang and J. Liu, “Research Review of Design Pattern Mining,” Proc. IEEE Int. Conf. Softw. Eng. Serv. Sci. ICSESS, vol. 2020-October, pp. 339–342, 2020, doi: 10.1109/ICSESS49938.2020.9237742.

[6]. L. Wang, T. Song, H. N. Song, and S. Zhang, “Research on Design Pattern Detection Method Based on UML Model with Extended Image Information and Deep Learning,” Appl. Sci., vol. 12, no. 17, 2022, doi: 10.3390/app12178718.

[7]. F. Wedyan and S. Abufakher, “Impact of design patterns on software quality: A systematic literature review,” IET Softw., vol. 14, no. 1, pp. 1–17, 2020, doi: 10.1049/iet-sen.2018.5446.

[8]. G. Luitel, M. Stephan, and D. Inclezan, “Model level design pattern instance detection using answer set programming,” Proc. - 8th Int. Work. Model. Softw. Eng. MiSE 2016, pp. 13–19, 2016, doi: 10.1145/2896982.2896991.

[9]. F. M. Alghamdi and M. R. J. Qureshi, “Impact of Design Patterns on Software Maintainability,” Int. J. Intell. Syst. Appl., vol. 6, no. 10, pp. 41–46, 2014, doi: 10.5815/ijisa.2014.10.06.

[10]. M. O. Onarcan and Y. Fu, “A Case Study on Design Patterns and Software Defects in Open Source Software,” J. Softw. Eng. Appl., vol. 11, no. 05, pp. 249–273, 2018, doi: 10.4236/jsea.2018.115016.

[11]. R. Barbudo, A. Ramírez, F. Servant, and J. R. Romero, “GEML: A grammar-based evolutionary machine learning approach for design-pattern detection,” J. Syst. Softw., vol. 175, 2021, doi: 10.1016/j.jss.2021.110919. Chordia et al., “Deceptive Design Patterns in Safety Technologies: A Case Study of the Citizen App,” Conf. Hum. Factors Comput. Syst. - Proc., 2023, doi: 10.1145/3544548.3581258.

[12]. M. Kumar and M. Kumar, “Pattern Design and its Applicability in Software Design Mechanism,” Res. Rev. Int. J. Multidiscip., vol. 3, no. 11, pp. 1153–1154, 2018, doi: 10.31305/rrijm.2018.v03.i11.244.

[13]. M. A. Jalil, N. A. A. Rahman, N. H. Ali, S. A. M. Noah, N. M. M. Noor, and F. Mohd, “Development of A Learning Model on Software Design Pattern Selection for Novice Developers,” ACM Int. Conf. Proceeding Ser., pp. 108–113, 2020, doi: 10.1145/3383923.3383966.

[14]. S. A. B. A. Alhunait and M. S. Khan, “The Impact of Design Patterns On Software Quality and Maintainability,” pp. 1–5, 2023, [Online]. Available: www.JSR.org

[15]. S. Khwaja and M. Alshayeb, “Survey on software design-pattern specification languages,” ACM Comput. Surv., vol. 49, no. 1, 2016, doi: 10.1145/2926966. Naghdipour, S. M. Hossien Hasheminejad, and M. Reza Keyvanpour, “DPSA: A Brief Review for Design Pattern Selection Approaches,” 26th Int. Comput. Conf. Comput. Soc. Iran, CSICC 2021, no. December, 2021, doi: 10.1109/CSICC52343.2021.9420629.

[16]. H. Yarahmadi and S. M. H. Hasheminejad, Design pattern detection approaches: a systematic review of the literature, vol. 53, no. 8. Springer Netherlands, 2020. doi: 10.1007/s10462-020-09834-5.

Downloads

Published

20-02-2025

Issue

Section

Articles

How to Cite

[1]
Kesavan, E. 2025. The Evolution of Software Design Patterns: An In-Depth Review. International Journal of Innovations in Science, Engineering And Management. 4, 1 (Feb. 2025), 163–167. DOI:https://doi.org/10.69968/ijisem.2025v4i1163-167.