Qué es la "Composición sobre herencia" 👨‍👩‍👧‍👦🚔🤷‍♂️ (

  Рет қаралды 16,639

CodelyTV - Redescubre la programación

CodelyTV - Redescubre la programación

5 жыл бұрын

🔥 ¡Aprovecha la oferta del Black Friday de CodelyTV Pro!
⮕ codely.tv/pro/blackfriday?utm...
---
¿Por qué se suele decir que la herencia es mala en Programación Orientada a Objetos? ¿En qué se basa #CompositionOverInheritance?
Bajemos al terreno con ejemplos de código estos conceptos 🚀
Links relacionados:
* Repo código acoplado: github.com/CodelyTV/coupled-c...
* Repo CQRS y DDD: github.com/CodelyTV/cqrs-ddd-...
* Curso Principios SOLID Aplicados: bit.ly/solid-codelytv
* Curso Arquitectura Hexagonal: bit.ly/hexagonal-codelytv

Пікірлер: 7
@CharlesDv
@CharlesDv 5 жыл бұрын
Sin duda es el mejor canal de PHP en habla hispana.
@asier6734
@asier6734 2 жыл бұрын
Gracias por el video. Las desventajas de la herencia es que es una relacion estatica, rigida (no se puede cambiar de padre) a diferencia de una composicion que puede ser dinamica. Ademas, de que puede romper la encapsulacion al acceder el hijo a contenido no publico del padre. El problema no es la complejidad que pueda añadir la herencia per se, que como bien decis tb tiene sus casos de uso correctos.
@gersonbrainsanchezospina422
@gersonbrainsanchezospina422 Жыл бұрын
Si inyectas las dependencias por Lazy, los constructores de estas no se invocan hasta que sean llamadas explicitamente en uno de los métodos de la clase por ejemplo, si tenemos una dependencia para envío de correos pero no todos los métodos de nuestra clase hacen envío de correos, dicha dependencia no se inicializa hasta que uno de los métodos de la clase lo requiera
@klavier0x99
@klavier0x99 5 жыл бұрын
Existe alguna bibliografía que recomienden al respecto de estos temas ?, saludos
@edustreamimg
@edustreamimg 5 жыл бұрын
Si la composición remplaza a esta herencia haciendo la clase menos acoplable en que casos es inevitable la herencia? Teneis mucho código donde extendeis de clases de symfony. Como haceis testing de clases con herencia de más de un nivel?
@asier6734
@asier6734 2 жыл бұрын
Inevitable no es nunca, toda herencia se puede reemplazar por una composicion. Pero la herencia tiene sentido cuando una clase A tb ES una clase B, como el clasico ejemplo de Caballo ES Animal y hereda todo su comportamiento. Aunque pueda crear un Caballo que con composicion de Animal (suponiendo que Animal no es una clase abstracta). La ventaja que aporta esto, es que puedes escribir codigo generico que trabaja con Animal y en tiempo de ejecucion aplicara a Caballo, Conejo, Gallina etc. Mientras que con la composicion el codigo tendria que ser especifico a Caballo.
🤔 Cuándo usar #interfaces… y cuándo EVITARLAS
21:28
CodelyTV - Redescubre la programación
Рет қаралды 23 М.
Aprende DDD en 20 minutos ⚡ | Domain-Driven Design
20:56
CodelyTV - Redescubre la programación
Рет қаралды 210 М.
1 or 2?🐄
00:12
Kan Andrey
Рет қаралды 56 МЛН
LOVE LETTER - POPPY PLAYTIME CHAPTER 3 | GH'S ANIMATION
00:15
Los 3 tipos de Caché que todo Developer debería conocer: HTTP vs Reverse Proxy vs App
15:50
CodelyTV - Redescubre la programación
Рет қаралды 32 М.
Agregación y Composición en POO
7:38
404 Not Found
Рет қаралды 39 М.
JavaScript ¿Qué es la HERENCIA de PROTOTIPOS?
12:21
Carlos Azaustre - Aprende JavaScript
Рет қаралды 2,6 М.
ABSTRACT en Java ☕ MÉTODOS abstractos 💭
18:44
Charly Cimino
Рет қаралды 6 М.
Por qué NO usar getters y setters | Tell don't ask
14:46
CodelyTV - Redescubre la programación
Рет қаралды 67 М.
Cómo evito usar JOINs
12:54
CodelyTV - Redescubre la programación
Рет қаралды 30 М.
Composición - Programación Orientada a Objetos en Java
22:58
Didiya hume wo chidiya dila do na 🦜🦜 #shorts #comedy 😜
0:34
Sikha shorts and vlogs
Рет қаралды 66 МЛН
Жаз бітетін болдығой😂
0:33
NNN LIFE TV
Рет қаралды 1,4 МЛН
КАК ДУМАЕТЕ КТО ВЫЙГРАЕТ😂
0:29
МЯТНАЯ ФАНТА
Рет қаралды 2,2 МЛН
В НЕЕ ЧТО, МОЛНИЯ ПОПАЛА? 😂😂😂😂
0:56
СЕМЬЯ СТАРОВОЙТОВЫХ 💖 Starovoitov.family
Рет қаралды 7 МЛН
ХАЛТУРЩИК
0:23
KINO KAIF
Рет қаралды 8 МЛН