¿Por qué preferir la composición sobre la herencia? ¿Qué compensaciones hay para cada enfoque? ¿Cuándo debería elegir la herencia sobre la composición?
Muchos lenguajes de plantilla tienen declaraciones de "ranuras" o "rendimiento", que permiten hacer algún tipo de inversión de control para envolver una plantilla dentro de otra. Angular tiene la opción "transcluir" . Rails tiene declaración de rendimiento . Si React.js tuviera una declaración de rendimiento, se vería así: var Wrapper …
Soy consciente de las diferencias conceptuales entre agregación y composición. ¿Alguien puede decirme la diferencia de implementación en Java entre ellos con ejemplos?
En F #, el uso del operador pipe-forward`` |>es bastante común. Sin embargo, en Haskell solo he visto cómo (.)se usa la composición de funciones,. Entiendo que están relacionados , pero ¿hay alguna razón lingüística por la que no se use pipe-forward en Haskell o es algo más?
Si tengo dos interfaces, ambas bastante diferentes en sus propósitos, pero con la misma firma de método, ¿cómo hago para que una clase implemente ambas sin estar obligado a escribir un solo método que sirva para ambas interfaces y escribir alguna lógica complicada en el método? implementación que verifica para …
Es bien sabido que los functores aplicativos están cerrados bajo composición, pero las mónadas no. Sin embargo, he tenido problemas para encontrar un contraejemplo concreto que muestre que las mónadas no siempre componen. Esta respuesta da [String -> a]como ejemplo de una no mónada. Después de jugar un poco con …
En el mundo de Java (más precisamente si no tiene herencia múltiple / mixins) la regla general es bastante simple: "Favorecer la composición de objetos sobre la herencia de clases". Me gustaría saber si / cómo se cambia si también considera los mixins, especialmente en scala. ¿Los mixins se consideran …