Herramientas de usuario

Herramientas del sitio


informatica:programacion:php:cursos:laravel_8:20250605

Curso Laravel 8.0 clase 05/06/2023

Notas sobre la clase del 05/06/2023 del curso Curso de Laravel 8.0

Libro recomendado por el profe sobre testing:

  • Working Effectively with Legacy Code (de Michael Feathers)

La primera parte se enfoca en cómo trabajar con código heredado (cuando no hay tests). En la segunda parte propone técnicas para trabajar con este tipo de código.

Otro libro más que recomienda el profe:

  • Clean Code: A Handbook of Agile Software Craftsmanship (de Robert C. Martin)

Este libro no se centra en test, pero se centra en los “code smells”, lo que no se debería hacer. Aplica una serie de técnicas sobre este tipo de código.

Estos dos libros dice que son obligatorios para partir de una buena base en la carrera de desarrolladores.

Terminología:

  • Acoplamiento secuencial.

Repaso de la semana pasada:

  • Repaso de MVC
  • Empezar con CRUD básico en Laravel.
  • Capa de diseño: dominio, infraestructura y aplicación

La carpeta app de Laravel es infraestructura, lo que pasa es que metemos la carpeta de Infraesetructure y Models dentro de app para no complicarnos más con Laravel. Qué metimos en cada carpeta:

  • Infraestuctura: creamos la carpeta “Repositories” y metimos la implementación de Eloquent (porque estamos en Laravel)
  • Dominio: metimos la carpeta “Contracts” y dentro una interfaz IProductRepository

Esta división de carpetas es DDD (Domain-drive Design).

Acóplate con lo abstracto y no con lo concreto (SOLID - D, principio de inversión de dependencias)

Tenemos que crear nuestra propia clase de producto para desacoplarnos de lo que ofrece Laravel. Dice el profesor que hagamos el Provider y producto que sea nuestro.

El patrón repositorio siempre devuelve entidades de dominio, entidades nuestras. Contienen todo lo necesario para que nosotros trabajemos.

Si un proyecto es largo, es muuuy probable que vaya a cambiar (requisitos, funcionalidades…). Con lo que estamos viendo, nos estamos preparando para que venga cualquier cambio y eso suponga poco esfuerzo para adaptar nuestro proyecto.

informatica/programacion/php/cursos/laravel_8/20250605.txt · Última modificación: por tempwin