Abstract:
This study explores the application of design patterns to improve the maintainability of software systems. Specifically, it examines various Creational, Structural and Behavioral design patterns, such as Abstract Factory, Builder, Factory Method, Adapter, Command and others, within a real-world software project. The research aims to assess the impact of these patterns on reducing complexity, enhancing code reuse and improving system flexibility. The methods include a comparative analysis of codebases with and without the application of design patterns, followed by an evaluation using SonarQube to measure maintainability metrics like code smells, technical debt ratio, ratio debt. The findings indicate that the use of design patterns significantly reduces code complexity, promotes better organization and improves system scalability, making it easier to maintain and extend. The study emphasizes the importance of incorporating design patterns in software development to achieve more maintainable, flexible and scalable systems. This research provides insights into how design patterns can be systematically applied to address common software development challenges, offering valuable statistics for developers.