Por qué NO usar getters y setters | Tell don't ask

¿Usas getters y setters? ¿Te suenan los modelos de dominio anémicos? ¿El principio Tell don't ask? ¡En este vídeo aprenderemos más acerca de estos conceptos! Ya hemos trabajado un poco la parte de la capa de aplicación mediante el screencast sobre el principio de responsabilidad única, y la relación con la capa de infraestructura mediante el screencast sobre el principio de inversión de dependencias. En este vídeo nos centraremos en la capa de nuestro dominio, concretamente, los modelos de dominio.

Índice del vídeo

  • 0:19 Pregunta: En PHP se accede a atributos de clase públicos, ¿uso getters y setters?
  • 1:17 Principio de programación aplicable a todo lenguaje
  • 2:00 Modelo User con atributos de clase públicos
  • 3:19 Diferencia entre Data Transfer Object (DTO) y modelo de dominio. Qué es un modelo de domino anémico
  • 4:14 Qué problemas tiene usar atributos de clase públicos
  • 4:50 Modelo User como array asociativo/hashmap
  • 6:00 Qué problemas tiene usar arrays asociativos para el modelado de dominio
  • 6:50 Modelo User con atributos de clase privados, getters y setters (modelo anémico)
  • 7:17 Beneficios de usar getters y setters
  • 8:00 Por qué NO usar getters y setters
  • 9:12 Modelo de dominio User con comportamiento
  • 10:47 Qué beneficios tiene usar modelos de dominio ricos (con comportamiento)
  • 13:09 Conclusión: Ni atributos de clase públicos, ni getters y setters. Lo ideal: Lógica de negocio donde corresponda (alta cohesión)

Vídeo

Material relacionado

  • Tell don't ask: Artículo de Martin Fowler acerca del principio Tell don't ask
  • Tell, Don't Ask (thoughtbot): Ejemplos de violaciones del principio Tell don't ask en Ruby
  • Data Transfer Object: Artículo de Martin Fowler sobre el patrón de diseño DTO
  • Anemic Domain Model: Artículo también de Martin Fowler acerca del anti-patrón de modelos de dominio anémicos

Paga según tus necesidades

lite (sólo mensual)

Cargando…
al mes
  • Acceso a un subconjunto de cursos para sentar las bases para un código mantenible, escalable y testable
  • Factura de empresa
Popular

standard

Cargando…
Ahorra 121
Pago anual de 0
al mes
  • Catálogo completo de cursos
  • Retos de diseño y arquitectura
  • Vídeos de soluciones destacadas de los retos
  • Recibir ofertas de empleo verificadas por Codely
  • Factura de empresa

premium

Cargando…
Ahorra 89
Pago anual de 0
al mes
  • Todo lo anterior
  • Más beneficios próximamente

No subiremos el precio mientras mantengas tu suscripción activa