Affiliation:
1. Department of Computer Science, National Taichung University of Education, Taichung 403514, Taiwan
Abstract
Design patterns provide solutions to recurring problems in software design and development, promoting scalability, readability, and maintainability. While past research focused on the utilization of the design patterns and performance, there is limited insight into their impact on program evolution. Dependency signifies relationships between program elements, reflecting a program’s structure and interaction. High dependencies indicate complexity and potential flaws, hampering system quality and maintenance. This paper presents how design patterns influence software evolution by analyzing dependencies using the Abstract Syntax Tree (AST) to examine dependency patterns during evolution. We employed three widely adopted design patterns from the Gang of Four (GoF) as experimental examples. The results show that design patterns effectively reduce dependencies, lowering system complexity and enhancing quality.
Reference22 articles.
1. Nanthaamornphong, A., and Wetprasit, R. (2014, January 23–24). A controlled experiment: Do Visitor patterns improve design simplicity?. Proceedings of the 2014 8th Malaysian Software Engineering Conference (MySEC), Langkawi, Malaysia.
2. Pree, W. (1995). Design Patterns for Object-Oriented Software Development, ACM Press/Addison-Wesley Publishing Co.
3. Celikkan, U., and Bozoklar, D. (2019, January 11–15). A Consolidated Approach for Design Pattern Recommendation. Proceedings of the 2019 4th International Conference on Computer Science and Engineering (UBMK), Samsun, Turkey.
4. Khomh, F., and Guéhéneuc, Y.G. (2008, January 1–4). Do Design Patterns Impact Software Quality Positively?. Proceedings of the 2008 12th European Conference on Software Maintenance and Reengineering, Athens, Greece.
5. The Effect of GoF Design Patterns on Stability: A Case Study;Ampatzoglou;IEEE Trans. Softw. Eng.,2015