Tengo un proyecto para emitir facturas. link Pero estoy pasando por una cruel duda.
Quiero implementar una arquitectura limpia real en el proyecto, pero me doy cuenta de que a veces las personas que ensamblan proyectos de arquitectura limpia en la web tienen directorios con "archivos sucios" (importaciones de framework/orm...) y "archivos limpios" (sin ningún dependencia de cualquier cosa externa).
Sin embargo, esto me pareció horrible, ya que tener una migración de framework, que debería ser totalmente fácil de hacer, termina siendo difícil y tedioso, ya que tendrás que ir de directorio en directorio buscando los "archivos limpios" para migrar. ..
Así que construí la siguiente estructura:
domain infra usecases En infra todos los archivos están sucios... (Controladores, Repositorios... ) Es la única capa que no se migrará.
En usecases de uso, contiene las reglas comerciales para emitir... Esta capa también está totalmente desvinculada de cualquier marco y ORM.
Pero me enfrento a una discusión con un amigo que afirma que los directorios deben contener archivos sucios y limpios juntos, con la justificación de que esta es la forma "correcta" de hacerlo.
si miras mi proyecto, notarás que puse adapters y recursos shared dentro del domain y mi amigo prefiere que permanezca dentro de la capa de infra porque, como dijo, esta es la forma "correcta" de hacerlo. El problema es que este sistema será muy grande y también tendrá una gran cantidad de cambios en el marco, y pasar de un directorio a otro en busca de archivos limpios para pasar a otro proyecto es un gran dolor de cabeza y demasiado tedioso.
En su opinión, ¿necesito tener los adapters y los directorios shared en la capa inferior, incluso si está "sucia", o los tengo en cuenta en la capa de domain , que es una capa completamente limpia?