CFP last date
20 June 2024
Reseach Article

Leveraging Design Patterns to Architect Robust and Adaptable Software Systems

by Vamsi Thatikonda, Hemavantha Rajesh Varma Mudunuri
International Journal of Computer Applications
Foundation of Computer Science (FCS), NY, USA
Volume 185 - Number 37
Year of Publication: 2023
Authors: Vamsi Thatikonda, Hemavantha Rajesh Varma Mudunuri
10.5120/ijca2023923180

Vamsi Thatikonda, Hemavantha Rajesh Varma Mudunuri . Leveraging Design Patterns to Architect Robust and Adaptable Software Systems. International Journal of Computer Applications. 185, 37 ( Oct 2023), 43-47. DOI=10.5120/ijca2023923180

@article{ 10.5120/ijca2023923180,
author = { Vamsi Thatikonda, Hemavantha Rajesh Varma Mudunuri },
title = { Leveraging Design Patterns to Architect Robust and Adaptable Software Systems },
journal = { International Journal of Computer Applications },
issue_date = { Oct 2023 },
volume = { 185 },
number = { 37 },
month = { Oct },
year = { 2023 },
issn = { 0975-8887 },
pages = { 43-47 },
numpages = {9},
url = { https://ijcaonline.org/archives/volume185/number37/32934-2023923180/ },
doi = { 10.5120/ijca2023923180 },
publisher = {Foundation of Computer Science (FCS), NY, USA},
address = {New York, USA}
}
%0 Journal Article
%1 2024-02-07T01:28:04.014417+05:30
%A Vamsi Thatikonda
%A Hemavantha Rajesh Varma Mudunuri
%T Leveraging Design Patterns to Architect Robust and Adaptable Software Systems
%J International Journal of Computer Applications
%@ 0975-8887
%V 185
%N 37
%P 43-47
%D 2023
%I Foundation of Computer Science (FCS), NY, USA
Abstract

Design patterns have risen as an indispensable instrument for confronting recurrent software design hurdles within software engineering. These patterns, by enshrining tried-and-true solutions to frequent issues, foster code that is both reusable and comprehensible, enhancing its long-term maintenance. This article delves deep into the backdrop of design patterns, accentuating their pivotal role in today's coding paradigms. Established practices like Creational, Structural, and Behavioural have set crucial benchmarks; however, advancements such as cloud computing and reactive programming have introduced innovative patterns apt for these realms. Additionally, this study touches upon the multifaceted nature of patterns, shedding light on potential pitfalls and difficulties during their execution. In conclusion, the proper direction of design patterns is pondered, accentuating their inherent flexibility in adapting to ever-changing tech terrains. Through this thorough exploration, the paramount importance of design patterns in moulding the forthcoming era of robust and adept software systems becomes apparent.

References
  1. E. Gamma, R. Johnson, R. Helm, R. E. . Johnson, and J. Vlissides, "Design Patterns: Elements of Reusable Object-Oriented Software," Jan. 01, 1995.
  2. M. Fowler, Patterns of Enterprise Application Architecture. 2002. [Online]. Available: https://www.marco-savard.com/PageProfessionnelle/books/PatternsOfEnterpriseApplicationArchitecture/PatternsOfEnterpriseApplicationArchitecture2006Nov13.pdf
  3. T. C. Lethbridge and R. Laganiere, Object-Oriented Software Engineering: practical software development using UML and Java. 2002. [Online]. Available: https://dl.acm.org/citation.cfm?id=1594049
  4. E. Sciore, Java Program Design: Principles, Polymorphism, and Patterns. Apress, 2019.
  5. C. Alexander, S. Ishikawa, M. Silverstein, M. Jacobson, I. Fiksdahl-King, and S. Angel, A pattern language: towns, buildings, construction, vol. 1, no. 5. 1977. [Online]. Available: https://ci.nii.ac.jp/ncid/BA00163982
  6. K. Stencel and P. Wegrzynowicz, "Implementation variants of the Singleton design pattern," in Springer eBooks, 2008, pp. 396–406. doi: 10.1007/978-3-540-88875-8_61.
  7. "Software architecture design patterns in Java," Choice Reviews Online, vol. 42, no. 06, pp. 42–3467, Feb. 2005, doi: 10.5860/choice.42-3467.
  8. H. Zhu, P. a. V. Hall, and J. H. R. May, "Software unit test coverage and adequacy," ACM Computing Surveys, vol. 29, no. 4, pp. 366–427, Dec. 1997, doi: 10.1145/267580.267590.
  9. E. Freeman and E. Robson, Head first design patterns: Building Extensible and Maintainable Object-Oriented Software. 2021.
  10. R. Martin, Agile software development, principles, patterns, and practices. 2002. [Online]. Available: http://onlinelibrary.wiley.com/doi/10.1002/pfi.21408/abstract
  11. C. Richardson, Microservices patterns: With examples in Java. Manning Publications, 2018.
  12. J. Long and K. Bastani, Cloud Native Java: Designing Resilient Systems with Spring Boot, Spring Cloud, and Cloud Foundry. O'Reilly Media, 2017.
  13. R.-G. Urma, M. Fusco, and A. Mycroft, Java 8 in Action: Lambdas, Strams, and Functional-Style Programming. Shelter Island: Manning, 2015.
  14. K. Beck, Extreme Programming explained: Embrace change. 1999.
  15. S. McConnell, Code complete. Pearson Education, 2004.
  16. M. Fowler, UML distilled: A Brief Guide to the Standard Object Modeling Language. Addison-Wesley Professional, 2004.
  17. R. Osherove, The art of unit testing: with examples in C#. Manning, 2013.
  18. P. Kruchten, R. L. Nord, and I. Ozkaya, "Technical Debt: From metaphor to Theory and practice," IEEE Software, vol. 29, no. 6, pp. 18–21, Nov. 2012, doi: 10.1109/ms.2012.167.
  19. T. Mathur, "Types of design pattern - Scaler topics," Scaler Topics, Apr. 01, 2022. https://www.scaler.com/topics/design-patterns/types-of-design-pattern/
  20. N. S. Gill, "Cloud Native Architecture Patterns and Design," XenonStack, Jul. 18, 2023. https://www.xenonstack.com/blog/cloud-native-architecture.
  21. E. Gamma et al., "Design Patterns: Elements of Reusable Object-Oriented Software"
  22. M. Fowler, "Patterns of Enterprise Application Architecture"
  23. J. Bloch, "Effective Java Programming Language Guide"
  24. A. Ampatzoglou et al., "The effect of design patterns on software quality: A systematic literature review"
  25. W. Wu et al., “An Empirical Study on Memory Consumption of Design Patterns"
  26. S. Seng et al., “Search‐based improvement of subsystem decomposition for single pattern and multiple patterns"
  27. M. Zhang et al., “Improve modifiability through refactoring using for metric-based Grouping genetic algorithm"
  28. J. Yacoub et al., "Design Patterns Impact on Software Quality"
  29. F. Palma et al., “The effect of design patterns on performance”
  30. W. Wu et al., “Maintainability Improvement for Design Patterns"
  31. S. Apel et al., “An overview of design pattern recovery techniques”
Index Terms

Computer Science
Information Sciences

Keywords

Robust and Adaptable Software Systems