Use of Clean Architecture to work with best practices in the construction of Java applications.
DOI:
https://doi.org/10.47185/27113760.v1n2.37Keywords:
Software Architecture, Programming, Best practices, Software development managementAbstract
This paper proposes the creation of Enterprise Java applications applying best practices using software clean architecture. An overview about clean architecture and their antecedents, the way they are made, finally a structure is proposed in this work on how to organize applications in Gradle modules for a strong decoupling between then into the project to facilitate work to developers team who are carrying out a project within an organization, turning it into a highly scalable, maintainable and testable product, and guaranteeing other quality attributes in the software. The project will be tested using technologies such as: Spring Boot and Gradle to test a Back-end that provides a service with a REST API.
Downloads
References
Barrios, B. Arquitectura Limpia para el resto de nosotros. Obtenido de: https://medium.com/@BryanSBarrios/arquitectura-limpia-pa -
ra-el-resto-de-nosotros-440a4fba4d92 (enero, 2020).
Bass L, Clements P, Kazman R (2012) Software architecture in practice. Addison-Wesley, USA.
Bourkhary, S. (2019) (https://drive.google.com/file/d/1E3CWd83CogRirIFbobJ8LEmexlIbQjOU/view).
Bui, T. (2017). Reactive programming and clean architecture in Android development. Chebanyuk, E. (2016). An Approach to Class Diagrams Verification According to SOLID Design Principles.
Git. Git. Obtenido de: https://git-scm.com (septiembre, 2020).
Gradle. Gradle. Obtenido de: https://docs.gradle.org/current/userguide/userguide.html (septiembre, 2020).
Herzog J (2015) Software architecture in practice third edition written by len bass, paul clements, rick kazman. ACM SIGSOFT Software Engineering Notes 40: 51-52.
Hofmeister C, Kruchten P, Nord RL, Obbink H, Ran A, et al. (2007) A general model of software architecture de-sign derived from five industrial approaches. J Syst Software 80: 106-126.
Knill, M. Refactoring to clean architecture. Obtenido de:
http://courses.cecs.anu.edu.au/courses/CSPROJECTS/19S2/finalTalks/u6052043.pdf (septiembre, 2019).
Kaisler SH (2005) Software paradigms. John Wiley & Sons, USA.
Rodriguez, F. (2019). A Clean Approach to Flutter Development through the Flutter Clean Architecture Package.
Salguero, E. Arquitectura Hexagonal. Obtenido de: https://medium.com/@edusalguero/arquitectura-hexagonal-59834bb44b7f (junio, 2018).
Sanchez, J. ¿Por qué utilizo clean architecture?. Obtenido de: http://xurxodev.com/por-que-utilizo-clean-architecture-en-mis-proyectos/ (julio, 2016).
Systems and software engineering - architecture description. ISO/IEC/IEEE 42010. 2011.- Software engineering – software life cycle processes – maintenance. ISO/IEC 14764:2006. - Postma A, America P, Wijnstra JG (2004) Component replacement in a longliving architecture: the 3RBDA approach. Proceedings. Fourth Working IEEE/IFIP Conference. pp: 89-98.].
Tang A, Avgeriou P, Jansen A, Capilla R, Babar MA (2010) A comparative study of architecture knowledge management tools. J Syst Software 83: 352-370.
Solanes, M. (2018). MyEMenu. Implementant Clean Architecture.
Tang A, Avgeriou P, Jansen A, Capilla R, Babar MA (2010) A comparative study of architecture knowledge management tools. J Syst Software 83: 352-370.
Yang C, Liang P, Avgeriou P (2016) A systematic mapping study on the combination of software architecture and agile development. J Syst Software 111: 157-184.
Wagener, E. (2019). A guide to building clean architectures for the web.
Downloads
Published
How to Cite
Issue
Section
License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.