<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comentarios en: ¡Extends es una mierda! ¿No te habías enterado?</title>
	<atom:link href="http://eamodeorubio.wordpress.com/2012/02/09/extends-es-una-mierda-no-te-habias-enterado/feed/" rel="self" type="application/rss+xml" />
	<link>http://eamodeorubio.wordpress.com/2012/02/09/extends-es-una-mierda-no-te-habias-enterado/</link>
	<description>Ingenieria del Software en el siglo XXI (en español)</description>
	<lastBuildDate>Sat, 16 Mar 2013 21:11:35 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>Por: Alejandro Pérez (@alejperez)</title>
		<link>http://eamodeorubio.wordpress.com/2012/02/09/extends-es-una-mierda-no-te-habias-enterado/#comment-1121</link>
		<dc:creator><![CDATA[Alejandro Pérez (@alejperez)]]></dc:creator>
		<pubDate>Fri, 29 Jun 2012 14:35:09 +0000</pubDate>
		<guid isPermaLink="false">http://eamodeorubio.wordpress.com/?p=656#comment-1121</guid>
		<description><![CDATA[Como soy bastante friki, he probado ese mismo ejemplo en Smalltalk, en concreto en Pharo, http://www.pharo-project.org , y &quot;funciona bien&quot;...

ListaAuditable Contenidos: pepe, Juan, Luis, 

Notificación Auditores:  pepe, Juan, Luis, 

Es decir, al llamar al insertar de la clase padre no &quot;rebota&quot; al insertar de la clase auditada...

Supongo que como Smalltalk sólo existe desde los 70 no han podido &quot;copiarlo bien&quot;...

Saludos]]></description>
		<content:encoded><![CDATA[<p>Como soy bastante friki, he probado ese mismo ejemplo en Smalltalk, en concreto en Pharo, <a href="http://www.pharo-project.org" rel="nofollow">http://www.pharo-project.org</a> , y &#8220;funciona bien&#8221;&#8230;</p>
<p>ListaAuditable Contenidos: pepe, Juan, Luis, </p>
<p>Notificación Auditores:  pepe, Juan, Luis, </p>
<p>Es decir, al llamar al insertar de la clase padre no &#8220;rebota&#8221; al insertar de la clase auditada&#8230;</p>
<p>Supongo que como Smalltalk sólo existe desde los 70 no han podido &#8220;copiarlo bien&#8221;&#8230;</p>
<p>Saludos</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: ¡ Extends es una mierda ! Composición y delegación &#171; Te lo dije &#8230;</title>
		<link>http://eamodeorubio.wordpress.com/2012/02/09/extends-es-una-mierda-no-te-habias-enterado/#comment-853</link>
		<dc:creator><![CDATA[¡ Extends es una mierda ! Composición y delegación &#171; Te lo dije &#8230;]]></dc:creator>
		<pubDate>Mon, 20 Feb 2012 09:31:41 +0000</pubDate>
		<guid isPermaLink="false">http://eamodeorubio.wordpress.com/?p=656#comment-853</guid>
		<description><![CDATA[[...] o el &#8220;Decorator&#8221; entre otros. Antes de nada voy a resumir lo contado hasta ahora. En el primer post vimos cómo usar la herencia de implementación de forma &#8220;ingenua&#8221; nos podía meter en [...]]]></description>
		<content:encoded><![CDATA[<p>[...] o el &#8220;Decorator&#8221; entre otros. Antes de nada voy a resumir lo contado hasta ahora. En el primer post vimos cómo usar la herencia de implementación de forma &#8220;ingenua&#8221; nos podía meter en [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: ¡Extends es una mierda! Diseñando para la herencia &#171; Te lo dije &#8230;</title>
		<link>http://eamodeorubio.wordpress.com/2012/02/09/extends-es-una-mierda-no-te-habias-enterado/#comment-831</link>
		<dc:creator><![CDATA[¡Extends es una mierda! Diseñando para la herencia &#171; Te lo dije &#8230;]]></dc:creator>
		<pubDate>Mon, 13 Feb 2012 09:59:46 +0000</pubDate>
		<guid isPermaLink="false">http://eamodeorubio.wordpress.com/?p=656#comment-831</guid>
		<description><![CDATA[[...] Comentarios        &#171; ¡Extends es una mierda! ¿No te habías&#160;enterado? [...]]]></description>
		<content:encoded><![CDATA[<p>[...] Comentarios        &laquo; ¡Extends es una mierda! ¿No te habías&nbsp;enterado? [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Enrique Amodeo</title>
		<link>http://eamodeorubio.wordpress.com/2012/02/09/extends-es-una-mierda-no-te-habias-enterado/#comment-830</link>
		<dc:creator><![CDATA[Enrique Amodeo]]></dc:creator>
		<pubDate>Sun, 12 Feb 2012 22:01:51 +0000</pubDate>
		<guid isPermaLink="false">http://eamodeorubio.wordpress.com/?p=656#comment-830</guid>
		<description><![CDATA[Yo lo que cuento es en base a mi experiencia, y en mi experiencia &quot;extends&quot; no me lleva a un buen diseño y he terminado por dejar de usarlo. Lo curioso que ahora que no lo uso, no lo echo de menos.
Entiendo que tu tengas otro punto de vista, pero no termino de entender cuales son tus argumentos. Bueno, a ver si en el próximo me explico algo mejor, que me parece que han quedado algunos puntos en el aire, y hacemos el debate más productivo.]]></description>
		<content:encoded><![CDATA[<p>Yo lo que cuento es en base a mi experiencia, y en mi experiencia &#8220;extends&#8221; no me lleva a un buen diseño y he terminado por dejar de usarlo. Lo curioso que ahora que no lo uso, no lo echo de menos.<br />
Entiendo que tu tengas otro punto de vista, pero no termino de entender cuales son tus argumentos. Bueno, a ver si en el próximo me explico algo mejor, que me parece que han quedado algunos puntos en el aire, y hacemos el debate más productivo.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Enrique Amodeo</title>
		<link>http://eamodeorubio.wordpress.com/2012/02/09/extends-es-una-mierda-no-te-habias-enterado/#comment-829</link>
		<dc:creator><![CDATA[Enrique Amodeo]]></dc:creator>
		<pubDate>Sun, 12 Feb 2012 21:33:04 +0000</pubDate>
		<guid isPermaLink="false">http://eamodeorubio.wordpress.com/?p=656#comment-829</guid>
		<description><![CDATA[Cierto, cierto. Tienes razón, lo más peligroso no es el &quot;extends&quot;, sino los equipos que no hablan entre si.]]></description>
		<content:encoded><![CDATA[<p>Cierto, cierto. Tienes razón, lo más peligroso no es el &#8220;extends&#8221;, sino los equipos que no hablan entre si.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Javier Neira (@jneira)</title>
		<link>http://eamodeorubio.wordpress.com/2012/02/09/extends-es-una-mierda-no-te-habias-enterado/#comment-828</link>
		<dc:creator><![CDATA[Javier Neira (@jneira)]]></dc:creator>
		<pubDate>Sun, 12 Feb 2012 20:43:47 +0000</pubDate>
		<guid isPermaLink="false">http://eamodeorubio.wordpress.com/?p=656#comment-828</guid>
		<description><![CDATA[Mmm no me refiero al ejemplo concreto de la lista sino en que la situacion que has descrito las clase esta siendo usada desde fuera de su hogar original (o sea esta expuesta, conscientemente o no en el api publica de ese &quot;hogar&quot;)  y es usada por un programador y modificada posteriormente por otro sin que haya comunicacion entre ellos. Hablo pues del contexto no tecnico del ejemplo, que es lo que en mi opinion hace realmente peligrosa la herencia (pero tambien otras tecnicas de uso entre unidades de software). 

Eso se une al problema de que en ese uso se dependa de la implementacion interna y se una en sagrado matrimonio a dos fragmentos de codigo que viven en paises muy lejanos, lo que haga que cualquier pequeño cambio destroce la relacion. ¿Quiere decir eso que el matrimonio es peligroso en todo caso? Pues tal vez en muchos si pero no en todos. :-P
Hay clases (o modulos o lo que sea) que estan hechas las unas para las otras desde su nacimiento.

Dicho esto tengo que admitir tambien que hay tecnicas que tienden mas que otras estrechar el acoplamiento y a crear dependencias de implementacion: la herencia hace visibles mas miembros de la clase y permite usarlos de manera mas comoda que con otros usos (p.e la delegacion que es su sustituto natural). Tambien hay que admitir que se ha abusado alegremente de la herencia (en java sobre todo) y yo he sido el primero en sufrirla (y lo sigo haciendo) con librerias como struts.  

Sin embargo para mi lo esencial del problema esta en la organizacion del trabajo del equipo (o de tu propio trabajo si hablamos de un unico programador) y en crear dependencias de la implementacion interna entre unidades de codigo que no tienen que tenerlas.]]></description>
		<content:encoded><![CDATA[<p>Mmm no me refiero al ejemplo concreto de la lista sino en que la situacion que has descrito las clase esta siendo usada desde fuera de su hogar original (o sea esta expuesta, conscientemente o no en el api publica de ese &#8220;hogar&#8221;)  y es usada por un programador y modificada posteriormente por otro sin que haya comunicacion entre ellos. Hablo pues del contexto no tecnico del ejemplo, que es lo que en mi opinion hace realmente peligrosa la herencia (pero tambien otras tecnicas de uso entre unidades de software). </p>
<p>Eso se une al problema de que en ese uso se dependa de la implementacion interna y se una en sagrado matrimonio a dos fragmentos de codigo que viven en paises muy lejanos, lo que haga que cualquier pequeño cambio destroce la relacion. ¿Quiere decir eso que el matrimonio es peligroso en todo caso? Pues tal vez en muchos si pero no en todos. <img src='http://s2.wp.com/wp-includes/images/smilies/icon_razz.gif' alt=':-P' class='wp-smiley' /><br />
Hay clases (o modulos o lo que sea) que estan hechas las unas para las otras desde su nacimiento.</p>
<p>Dicho esto tengo que admitir tambien que hay tecnicas que tienden mas que otras estrechar el acoplamiento y a crear dependencias de implementacion: la herencia hace visibles mas miembros de la clase y permite usarlos de manera mas comoda que con otros usos (p.e la delegacion que es su sustituto natural). Tambien hay que admitir que se ha abusado alegremente de la herencia (en java sobre todo) y yo he sido el primero en sufrirla (y lo sigo haciendo) con librerias como struts.  </p>
<p>Sin embargo para mi lo esencial del problema esta en la organizacion del trabajo del equipo (o de tu propio trabajo si hablamos de un unico programador) y en crear dependencias de la implementacion interna entre unidades de codigo que no tienen que tenerlas.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: jmarranz</title>
		<link>http://eamodeorubio.wordpress.com/2012/02/09/extends-es-una-mierda-no-te-habias-enterado/#comment-827</link>
		<dc:creator><![CDATA[jmarranz]]></dc:creator>
		<pubDate>Sun, 12 Feb 2012 17:56:16 +0000</pubDate>
		<guid isPermaLink="false">http://eamodeorubio.wordpress.com/?p=656#comment-827</guid>
		<description><![CDATA[A mi personalmente me da bastante igual lo que diga el guru de turno, después de cientos y cientos y cientos de herencias de implementación en C++ y Java, mi opinión es la contraria, prescindir de la herencia de implementación ESO SI que es para mi una verdadera pesadilla, y no, no estoy pensando en el típico ejemplo de un nivel de herencia de una clase con un par de métodos, en donde las cosas no cambian prácticamente nada si se usa composición, estoy pensando en cosas como esta:

http://docs.oracle.com/javase/1.4.2/docs/api/javax/swing/JCheckBox.html

Sólo imaginar ese código como composición me pondría los pelos de punta.

(aunque con esto no quiero decir que AWT/Swing sea la mejor API diseñada del mundo ni mucho menos).

Aunque no se que pasa pero la gente que hace software complejo de narices es que no aprende de los &quot;gurus&quot; y se empeña una y otra vez en usar herencia de implementación para resolver problemas reales:

http://docs.oracle.com/javafx/2.0/api/javafx/scene/control/RadioButton.html

Aunque puestos a elegir gurus prefiero a Cedric Beust

&quot;We all know that inheritance can be abused, but isn&#039;t it so for every feature of every language on the planet?  Instead of giving in to simple sensationalism, how about studying the pros and cons of inheritance and trying to educate your readers objectively?&quot;

http://beust.com/weblog2/archives/000004.html

Pero en fin que cada uno piense lo que quiera pero en mi opinión hay que tener mucho cuidado cuando uno mismo se pone piedras en el camino.]]></description>
		<content:encoded><![CDATA[<p>A mi personalmente me da bastante igual lo que diga el guru de turno, después de cientos y cientos y cientos de herencias de implementación en C++ y Java, mi opinión es la contraria, prescindir de la herencia de implementación ESO SI que es para mi una verdadera pesadilla, y no, no estoy pensando en el típico ejemplo de un nivel de herencia de una clase con un par de métodos, en donde las cosas no cambian prácticamente nada si se usa composición, estoy pensando en cosas como esta:</p>
<p><a href="http://docs.oracle.com/javase/1.4.2/docs/api/javax/swing/JCheckBox.html" rel="nofollow">http://docs.oracle.com/javase/1.4.2/docs/api/javax/swing/JCheckBox.html</a></p>
<p>Sólo imaginar ese código como composición me pondría los pelos de punta.</p>
<p>(aunque con esto no quiero decir que AWT/Swing sea la mejor API diseñada del mundo ni mucho menos).</p>
<p>Aunque no se que pasa pero la gente que hace software complejo de narices es que no aprende de los &#8220;gurus&#8221; y se empeña una y otra vez en usar herencia de implementación para resolver problemas reales:</p>
<p><a href="http://docs.oracle.com/javafx/2.0/api/javafx/scene/control/RadioButton.html" rel="nofollow">http://docs.oracle.com/javafx/2.0/api/javafx/scene/control/RadioButton.html</a></p>
<p>Aunque puestos a elegir gurus prefiero a Cedric Beust</p>
<p>&#8220;We all know that inheritance can be abused, but isn&#8217;t it so for every feature of every language on the planet?  Instead of giving in to simple sensationalism, how about studying the pros and cons of inheritance and trying to educate your readers objectively?&#8221;</p>
<p><a href="http://beust.com/weblog2/archives/000004.html" rel="nofollow">http://beust.com/weblog2/archives/000004.html</a></p>
<p>Pero en fin que cada uno piense lo que quiera pero en mi opinión hay que tener mucho cuidado cuando uno mismo se pone piedras en el camino.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Enrique Amodeo</title>
		<link>http://eamodeorubio.wordpress.com/2012/02/09/extends-es-una-mierda-no-te-habias-enterado/#comment-826</link>
		<dc:creator><![CDATA[Enrique Amodeo]]></dc:creator>
		<pubDate>Sun, 12 Feb 2012 17:22:50 +0000</pubDate>
		<guid isPermaLink="false">http://eamodeorubio.wordpress.com/?p=656#comment-826</guid>
		<description><![CDATA[No se porqué os lo tomais como un ataque a JAVA. La herencia de implementación es una mierda y no importa si es con JAVA o con Ruby o con JavaScript o con C++. De hecho el problema se detectó en los tiempos del C++, donde se había usado intensivamente la herencia de implementación como mecanismo de reutilización en las MFC de Windows. No se si alguien se acuerda de esos tiempos, pero a mi me pilló de estudiante y aun tengo pesadillas....
La herencia de implementación no es nuclear a la OO, es nuclear a la orientación a clases, que son dos cosas diferentes. Y da igual, aunque fuera nuclear a la OO original, ¿y qué? No veo como ayuda eso a la herencia de implementación como técnica.
Lo que yo tengo entendido que dijo James Gosling es que si tuviera que volver a &quot;inventar&quot; JAVA, no le pondría &quot;clases&quot;, tras las caras de estupefacción de los asistentes, aclaró que el verdadero problema era el &quot;extends&quot;. De todas formas esto es apocrifo, no he conseguido encontrar ninguna cita directa de él sobre esto (pero sí de asistentes que dijeron que el había dicho...). No es importante, da igual lo que dijera James Gosling, Martin Fowler o el tio Bob, no usaré el argumento de autoridad. Lo importante es que &quot;extends&quot; es realmente peligroso, y prefiero no usar nitroglicerina si puedo usar explosivo plástico, que es más seguro y más potente.]]></description>
		<content:encoded><![CDATA[<p>No se porqué os lo tomais como un ataque a JAVA. La herencia de implementación es una mierda y no importa si es con JAVA o con Ruby o con JavaScript o con C++. De hecho el problema se detectó en los tiempos del C++, donde se había usado intensivamente la herencia de implementación como mecanismo de reutilización en las MFC de Windows. No se si alguien se acuerda de esos tiempos, pero a mi me pilló de estudiante y aun tengo pesadillas&#8230;.<br />
La herencia de implementación no es nuclear a la OO, es nuclear a la orientación a clases, que son dos cosas diferentes. Y da igual, aunque fuera nuclear a la OO original, ¿y qué? No veo como ayuda eso a la herencia de implementación como técnica.<br />
Lo que yo tengo entendido que dijo James Gosling es que si tuviera que volver a &#8220;inventar&#8221; JAVA, no le pondría &#8220;clases&#8221;, tras las caras de estupefacción de los asistentes, aclaró que el verdadero problema era el &#8220;extends&#8221;. De todas formas esto es apocrifo, no he conseguido encontrar ninguna cita directa de él sobre esto (pero sí de asistentes que dijeron que el había dicho&#8230;). No es importante, da igual lo que dijera James Gosling, Martin Fowler o el tio Bob, no usaré el argumento de autoridad. Lo importante es que &#8220;extends&#8221; es realmente peligroso, y prefiero no usar nitroglicerina si puedo usar explosivo plástico, que es más seguro y más potente.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: jmarranz</title>
		<link>http://eamodeorubio.wordpress.com/2012/02/09/extends-es-una-mierda-no-te-habias-enterado/#comment-825</link>
		<dc:creator><![CDATA[jmarranz]]></dc:creator>
		<pubDate>Sun, 12 Feb 2012 17:02:27 +0000</pubDate>
		<guid isPermaLink="false">http://eamodeorubio.wordpress.com/?p=656#comment-825</guid>
		<description><![CDATA[&quot;Quizás debieras echar un vistazo al Collection Framework de Java y luego nos cuentas las líneas de código que habrías acabado tirando sin extends…&quot;

Plenamente de acuerdo Albert J. Reily, imagina Swing y en general tu razonamiento es aplicable a cualquier árbol de derivación hecho con sentido común, ya que hablamos en términos de &quot;mierda&quot;, me imagino lo que sale al convertir a composición una herencia de implementación de tres clases (tres niveles): seguramente una mierda.

Varias cosas:

No me creo que James Gosling dijera exactamente eso, lo que si me creo es que dijera algo así como que hay un excesivo número de clases públicas en el core de Java en vez de ser interfaces y en eso estoy totalmente de acuerdo, el framework de colecciones a base de interface/implementación es un ejemplo de una API bien hecha en ese sentido y podría ser mejor aún con algún tipo de sistema de factoría.

El concepto de extends es MUY anterior a Java y es NUCLEAR de la orientación a objetos, sin herencia de implementación la OOP se reduce prácticamente a NADA.

&quot;la herencia de implementación, que es más peligrosa que una caja de bombas&quot;

Cierto, pero la solución NO debería ser &quot;como es peligrosa es mierda&quot; 

Es como decir

&quot;Como pusimos al niño a los controles de la central nuclear y la lió la energía nuclear es mala, mejor generar energía pedaleando&quot;

&quot;Como le dimos al niño un bisturí la cirugía es mala y la lió, mejor con hierbas&quot;

La solución es decirle al junior, niño no toques si no sabes lo que estás haciendo, por muy buena y encapsulada que sea tu API jamás podrás impedir que un uso indebido de la misma.

Hechad un vistazo al código fuente de vuestro framework/herramienta favorita, Tomcat, Hibernate, Spring, GlassFish, las propias tripas del JDK... etc y verás herencias de implementación por un tubo... afortunadamente.

Lo siento en mi opinión esta moda de que la herencia es mala lo que está llevando es que una generación de programadores estén haciendo de nuevo código C  por mucho Java, Scala o el lenguaje &quot;moderno&quot; de turno que usen.]]></description>
		<content:encoded><![CDATA[<p>&#8220;Quizás debieras echar un vistazo al Collection Framework de Java y luego nos cuentas las líneas de código que habrías acabado tirando sin extends…&#8221;</p>
<p>Plenamente de acuerdo Albert J. Reily, imagina Swing y en general tu razonamiento es aplicable a cualquier árbol de derivación hecho con sentido común, ya que hablamos en términos de &#8220;mierda&#8221;, me imagino lo que sale al convertir a composición una herencia de implementación de tres clases (tres niveles): seguramente una mierda.</p>
<p>Varias cosas:</p>
<p>No me creo que James Gosling dijera exactamente eso, lo que si me creo es que dijera algo así como que hay un excesivo número de clases públicas en el core de Java en vez de ser interfaces y en eso estoy totalmente de acuerdo, el framework de colecciones a base de interface/implementación es un ejemplo de una API bien hecha en ese sentido y podría ser mejor aún con algún tipo de sistema de factoría.</p>
<p>El concepto de extends es MUY anterior a Java y es NUCLEAR de la orientación a objetos, sin herencia de implementación la OOP se reduce prácticamente a NADA.</p>
<p>&#8220;la herencia de implementación, que es más peligrosa que una caja de bombas&#8221;</p>
<p>Cierto, pero la solución NO debería ser &#8220;como es peligrosa es mierda&#8221; </p>
<p>Es como decir</p>
<p>&#8220;Como pusimos al niño a los controles de la central nuclear y la lió la energía nuclear es mala, mejor generar energía pedaleando&#8221;</p>
<p>&#8220;Como le dimos al niño un bisturí la cirugía es mala y la lió, mejor con hierbas&#8221;</p>
<p>La solución es decirle al junior, niño no toques si no sabes lo que estás haciendo, por muy buena y encapsulada que sea tu API jamás podrás impedir que un uso indebido de la misma.</p>
<p>Hechad un vistazo al código fuente de vuestro framework/herramienta favorita, Tomcat, Hibernate, Spring, GlassFish, las propias tripas del JDK&#8230; etc y verás herencias de implementación por un tubo&#8230; afortunadamente.</p>
<p>Lo siento en mi opinión esta moda de que la herencia es mala lo que está llevando es que una generación de programadores estén haciendo de nuevo código C  por mucho Java, Scala o el lenguaje &#8220;moderno&#8221; de turno que usen.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Enrique Amodeo</title>
		<link>http://eamodeorubio.wordpress.com/2012/02/09/extends-es-una-mierda-no-te-habias-enterado/#comment-824</link>
		<dc:creator><![CDATA[Enrique Amodeo]]></dc:creator>
		<pubDate>Sun, 12 Feb 2012 16:50:12 +0000</pubDate>
		<guid isPermaLink="false">http://eamodeorubio.wordpress.com/?p=656#comment-824</guid>
		<description><![CDATA[El Collection Framework de JAVA lo conozco bastante bien. Como he dicho antes esto es un mero ejemplo, quería un ejemplo sencillo que no confundiera el mensaje, y cómo dije también antes, a veces cuando modelas negocio es bueno encapsular los tipos primitivos y del sistema. Es mejor cosas como CatalogoDeProductos, UltimosMovimientos o Empleados a Collection&lt;Producto&gt;, List&lt;Movimiento&gt; o Set&lt;Empleado&gt;.
Veo que algunos no parais de repetir lo mismo: &quot;es que extends hay que saber usarlo&quot;, &quot;es que extends es muy útil en algunas circunstancias&quot;, &quot;es que quieres usar la misma herramienta para todos los casos&quot;, etc... De momento no he visto ningún caso concreto en el que la herencia de implementación sea la mejor técnica a aplicar. Si alguno tiene un ejemplo concreto que lo publique en su blog, y que me lo diga, para poder enlazarlo desde el mio. Al fin y al cabo el &quot;goto&quot; también era muy &quot;útil&quot;, e incluso se podía usar &quot;bien&quot;.
P.S. No, no he leido recientemente &quot;Favor composition over inheritance&quot;, estas ideas empecé a verlas en el año 2000 cuando me leí el GoF, y unos pocos años después leí algunos posts confirmándolo]]></description>
		<content:encoded><![CDATA[<p>El Collection Framework de JAVA lo conozco bastante bien. Como he dicho antes esto es un mero ejemplo, quería un ejemplo sencillo que no confundiera el mensaje, y cómo dije también antes, a veces cuando modelas negocio es bueno encapsular los tipos primitivos y del sistema. Es mejor cosas como CatalogoDeProductos, UltimosMovimientos o Empleados a Collection&lt;Producto&gt;, List&lt;Movimiento&gt; o Set&lt;Empleado&gt;.<br />
Veo que algunos no parais de repetir lo mismo: &#8220;es que extends hay que saber usarlo&#8221;, &#8220;es que extends es muy útil en algunas circunstancias&#8221;, &#8220;es que quieres usar la misma herramienta para todos los casos&#8221;, etc&#8230; De momento no he visto ningún caso concreto en el que la herencia de implementación sea la mejor técnica a aplicar. Si alguno tiene un ejemplo concreto que lo publique en su blog, y que me lo diga, para poder enlazarlo desde el mio. Al fin y al cabo el &#8220;goto&#8221; también era muy &#8220;útil&#8221;, e incluso se podía usar &#8220;bien&#8221;.<br />
P.S. No, no he leido recientemente &#8220;Favor composition over inheritance&#8221;, estas ideas empecé a verlas en el año 2000 cuando me leí el GoF, y unos pocos años después leí algunos posts confirmándolo</p>
]]></content:encoded>
	</item>
</channel>
</rss>
