Software Patterns for the 21st Century: From Monolithic Designs to AI-Driven Architectures
Listed in
This article is not in any list yet, why not save it to one of your lists.Abstract
Software design patterns offer modular, maintainable, and scalable approaches for contemporary software engineering. This research offers a qualitative systematic review performed following PRISMA guidelines. Out of an initial search of 226 publications, 84 articles underwent full-text screening, leading to the inclusion of 42 peer-reviewed studies (published from 2013 to 2024) in the final synthesis. The evaluation was directed by four research inquiries focusing on categorization, contextual application, compromises, and the development of design patterns. Results showed that architectural patterns (MVC, layered architecture, microservices) were the most frequently referenced, with 41 mentions, followed by cloud-native and microservice-related patterns (37 mentions), creational patterns (31 mentions), structural patterns (28 mentions), and event-driven/reactive patterns (25 mentions). Concurrency patterns were mentioned the least (14 occurrences), indicating their growing incorporation into frameworks. In various sectors, web, mobile, enterprise, and cloud applications displayed unique adoption patterns, with MVC leading in web environments, MVVM common in mobile platforms, and microservices and CQRS fundamental to cloud architectures. Analysis of trade-offs highlighted recurring conflicts like simplicity versus testability (Singleton), flexibility versus readability (Factory Method), and independence versus integration complexity (Microservices). Timeline mapping illustrated the transition from monolithic models to distributed, event-driven, and serverless architectures from 2010 to 2024, showing a distinct increase in cloud-native adoption after 2018. The study ends with suggestions for context-sensitive pattern choice and emphasizes the importance of further investigation into AI-automated patterns, edge-native orchestration, and quantum-ready software designs, framing design patterns as an ever-evolving structure for tackling software engineering challenges in the 21st century.