<?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/"
		>
<channel>
	<title>Comentarios en: ¿Métodos encadenados? ¡No! Fluent Interfaces.</title>
	<atom:link href="http://www.programania.net/php/%c2%bfmetodos-encadenados-%c2%a1no/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.programania.net/php/%c2%bfmetodos-encadenados-%c2%a1no/</link>
	<description>Ingeniería del Software</description>
	<lastBuildDate>Tue, 16 Mar 2010 13:22:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Por: Luis Artola</title>
		<link>http://www.programania.net/php/%c2%bfmetodos-encadenados-%c2%a1no/comment-page-1/#comment-13577</link>
		<dc:creator>Luis Artola</dc:creator>
		<pubDate>Tue, 24 Mar 2009 09:18:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.programania.net/?p=404#comment-13577</guid>
		<description>Hola Karina,

el que más sabe aquí de Java es indudablemente Raul. Si quieres ve a su página y  escríbele un correillo a ver qué te comenta. 

Sé que ahora anda ocupado pero quizá pueda ayudarte...

Un saludo!</description>
		<content:encoded><![CDATA[<p>Hola Karina,</p>
<p>el que más sabe aquí de Java es indudablemente Raul. Si quieres ve a su página y  escríbele un correillo a ver qué te comenta. </p>
<p>Sé que ahora anda ocupado pero quizá pueda ayudarte&#8230;</p>
<p>Un saludo!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: karina Jimenez</title>
		<link>http://www.programania.net/php/%c2%bfmetodos-encadenados-%c2%a1no/comment-page-1/#comment-13564</link>
		<dc:creator>karina Jimenez</dc:creator>
		<pubDate>Mon, 23 Mar 2009 16:34:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.programania.net/?p=404#comment-13564</guid>
		<description>Hola Luis , lei tu presentacion y me he dado cuenta que tienes una amplia experiencia me parece muy interesante poder aprender de todo  lo que sabes, en realidad ahora te escribo por que necesito realizar un articulo sobre la aplicacion del framework hibernate para la persistencia de los datos en un proyecto en el cual trabajo y que se refiere al uso de las TICS  en los actores del sistema general de seguridad social en salud, de antemano te agradeceria cualquier informacion que me puedas sumistrar para el desarrollo de mi articulo. gracias</description>
		<content:encoded><![CDATA[<p>Hola Luis , lei tu presentacion y me he dado cuenta que tienes una amplia experiencia me parece muy interesante poder aprender de todo  lo que sabes, en realidad ahora te escribo por que necesito realizar un articulo sobre la aplicacion del framework hibernate para la persistencia de los datos en un proyecto en el cual trabajo y que se refiere al uso de las TICS  en los actores del sistema general de seguridad social en salud, de antemano te agradeceria cualquier informacion que me puedas sumistrar para el desarrollo de mi articulo. gracias</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Luis Artola</title>
		<link>http://www.programania.net/php/%c2%bfmetodos-encadenados-%c2%a1no/comment-page-1/#comment-12765</link>
		<dc:creator>Luis Artola</dc:creator>
		<pubDate>Tue, 13 Jan 2009 16:01:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.programania.net/?p=404#comment-12765</guid>
		<description>tamos de acuerdo, entonces...  :-D</description>
		<content:encoded><![CDATA[<p>tamos de acuerdo, entonces&#8230;  <img src='http://www.programania.net/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Rubén Moraleda</title>
		<link>http://www.programania.net/php/%c2%bfmetodos-encadenados-%c2%a1no/comment-page-1/#comment-12764</link>
		<dc:creator>Rubén Moraleda</dc:creator>
		<pubDate>Tue, 13 Jan 2009 13:57:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.programania.net/?p=404#comment-12764</guid>
		<description>Hola Luís:

Gracias por la corrección, fué un lapsus pasajero :). 

Quiero aclarar que yo si uso ampliamente los fluent interfaces, pero por regla general intento evitarlos en la medida de lo posible y no abusar de ellos porque puede llevarnos a determinados errores.

Por ejemplo, viendo tu código y sin conocer la aplicación:
$factoria-&gt;crear(’cliente’)-&gt;devolviendo(’XML’)

Yo no sé si el método &#039;devolviendo&#039; es de un nuevo objeto que se crea en el método &#039;crear&#039; de factoria, o si &#039;devolviendo&#039; es un método de factoria. ¿Entiendes a que me refiero?. Por eso comento que salvo para setters, procuro no abusar de ellos.

En cambio, si ésto fuese:
$cliente=$factoria-&gt;crear(’cliente’);
$xml=$cliente-&gt;xml();

Yo personalmente lo entenderia mejor.

En cuanto a lo que comentas de jquery, no te preocupes, he entendido perfectamente el ejemplo porque estoy acostumbrado a usarlo, pero ten en cuenta que muchos metodos de jquery son justo eso, setters.

Saludos.</description>
		<content:encoded><![CDATA[<p>Hola Luís:</p>
<p>Gracias por la corrección, fué un lapsus pasajero <img src='http://www.programania.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . </p>
<p>Quiero aclarar que yo si uso ampliamente los fluent interfaces, pero por regla general intento evitarlos en la medida de lo posible y no abusar de ellos porque puede llevarnos a determinados errores.</p>
<p>Por ejemplo, viendo tu código y sin conocer la aplicación:<br />
$factoria-&gt;crear(’cliente’)-&gt;devolviendo(’XML’)</p>
<p>Yo no sé si el método &#8216;devolviendo&#8217; es de un nuevo objeto que se crea en el método &#8216;crear&#8217; de factoria, o si &#8216;devolviendo&#8217; es un método de factoria. ¿Entiendes a que me refiero?. Por eso comento que salvo para setters, procuro no abusar de ellos.</p>
<p>En cambio, si ésto fuese:<br />
$cliente=$factoria-&gt;crear(’cliente’);<br />
$xml=$cliente-&gt;xml();</p>
<p>Yo personalmente lo entenderia mejor.</p>
<p>En cuanto a lo que comentas de jquery, no te preocupes, he entendido perfectamente el ejemplo porque estoy acostumbrado a usarlo, pero ten en cuenta que muchos metodos de jquery son justo eso, setters.</p>
<p>Saludos.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Luis Artola</title>
		<link>http://www.programania.net/php/%c2%bfmetodos-encadenados-%c2%a1no/comment-page-1/#comment-12763</link>
		<dc:creator>Luis Artola</dc:creator>
		<pubDate>Tue, 13 Jan 2009 11:41:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.programania.net/?p=404#comment-12763</guid>
		<description>vaya, en el ejemplo que te acabo de poner de jquery, wordpress se acaba de trabajar en html del primoer $(&#039;&#039;) que era de párrafo... así el ejemplo tiene menos sentido...  :-S</description>
		<content:encoded><![CDATA[<p>vaya, en el ejemplo que te acabo de poner de jquery, wordpress se acaba de trabajar en html del primoer $(&#8221;) que era de párrafo&#8230; así el ejemplo tiene menos sentido&#8230;  :-S</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Luis Artola</title>
		<link>http://www.programania.net/php/%c2%bfmetodos-encadenados-%c2%a1no/comment-page-1/#comment-12762</link>
		<dc:creator>Luis Artola</dc:creator>
		<pubDate>Tue, 13 Jan 2009 11:40:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.programania.net/?p=404#comment-12762</guid>
		<description>Hola Rubén,
yo creo que os equivocáis a la hora de valorar el uso de Fluent Interfaces. No se trata de &quot;necesitar anidar varios métodos&quot;. Primero que no se anidan, se encadenan. y segundo que no es una cuestión de &quot;necesidad&quot;. Se trata de facilidad leer el código generado.

Y la clave está en cuando eres tú el que crea la API (o DSL, como se le quiera llamar) no cuando eres el consumidor de esa API.

El caso de los setters es un caso clave. Pero también podrías crear tú una API que necesitara algo tipo:

$factoria-&gt;crear(&#039;cliente&#039;)-&gt;devolviendo(&#039;XML&#039;).

Se trata de una forma de escribir código que se acerca más al lenguaje natural y, por lo tanto, es más fácil de mantener y menos necesario documentar...

En el caso de jquery (que veo en tu blog que lo usas), se usan constantemente para ejemplos como:

 $(&#039;&#039;)  
   .html(&quot;Blah, blah, blah&quot;)  
   .addClass(&quot;foobar&quot;)  
   .appendTo(&quot;body&quot;);  

Es cómodo y más semántico. Pero repito que no es la panacea, ni la revolución, ni un cambio de paradigma... sólo una mera evolución en la manera de escribir API´s...

Un saludo!</description>
		<content:encoded><![CDATA[<p>Hola Rubén,<br />
yo creo que os equivocáis a la hora de valorar el uso de Fluent Interfaces. No se trata de &#8220;necesitar anidar varios métodos&#8221;. Primero que no se anidan, se encadenan. y segundo que no es una cuestión de &#8220;necesidad&#8221;. Se trata de facilidad leer el código generado.</p>
<p>Y la clave está en cuando eres tú el que crea la API (o DSL, como se le quiera llamar) no cuando eres el consumidor de esa API.</p>
<p>El caso de los setters es un caso clave. Pero también podrías crear tú una API que necesitara algo tipo:</p>
<p>$factoria-&gt;crear(&#8216;cliente&#8217;)-&gt;devolviendo(&#8216;XML&#8217;).</p>
<p>Se trata de una forma de escribir código que se acerca más al lenguaje natural y, por lo tanto, es más fácil de mantener y menos necesario documentar&#8230;</p>
<p>En el caso de jquery (que veo en tu blog que lo usas), se usan constantemente para ejemplos como:</p>
<p> $(&#8221;)<br />
   .html(&#8220;Blah, blah, blah&#8221;)<br />
   .addClass(&#8220;foobar&#8221;)<br />
   .appendTo(&#8220;body&#8221;);  </p>
<p>Es cómodo y más semántico. Pero repito que no es la panacea, ni la revolución, ni un cambio de paradigma&#8230; sólo una mera evolución en la manera de escribir API´s&#8230;</p>
<p>Un saludo!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Rubén Moraleda</title>
		<link>http://www.programania.net/php/%c2%bfmetodos-encadenados-%c2%a1no/comment-page-1/#comment-12759</link>
		<dc:creator>Rubén Moraleda</dc:creator>
		<pubDate>Tue, 13 Jan 2009 02:07:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.programania.net/?p=404#comment-12759</guid>
		<description>¿Cuantos casos habeis tenido en los que necesiteis anidar varios métodos de un objeto (que no sean setters)?. Yo ahora mismo que recuerde, muy pocos.

Personalmente, yo no le veo ninguna utilidad a los fluent interfaces salvo para los setters y para casos muy muy concretos, para lo demás, intento evitarlos en la medida de lo posible. Creo que es lo mejor.</description>
		<content:encoded><![CDATA[<p>¿Cuantos casos habeis tenido en los que necesiteis anidar varios métodos de un objeto (que no sean setters)?. Yo ahora mismo que recuerde, muy pocos.</p>
<p>Personalmente, yo no le veo ninguna utilidad a los fluent interfaces salvo para los setters y para casos muy muy concretos, para lo demás, intento evitarlos en la medida de lo posible. Creo que es lo mejor.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Luis Artola</title>
		<link>http://www.programania.net/php/%c2%bfmetodos-encadenados-%c2%a1no/comment-page-1/#comment-12636</link>
		<dc:creator>Luis Artola</dc:creator>
		<pubDate>Tue, 30 Dec 2008 15:20:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.programania.net/?p=404#comment-12636</guid>
		<description>Hola Enrique,

efectivamente ésta forma de escribir código no es una revolución, sino una mera evolución. Ayuda además a hacer el código más legible y reduce la curva de aprendizaje de un API al tener un lenguaje más natural...</description>
		<content:encoded><![CDATA[<p>Hola Enrique,</p>
<p>efectivamente ésta forma de escribir código no es una revolución, sino una mera evolución. Ayuda además a hacer el código más legible y reduce la curva de aprendizaje de un API al tener un lenguaje más natural&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Enrique Place</title>
		<link>http://www.programania.net/php/%c2%bfmetodos-encadenados-%c2%a1no/comment-page-1/#comment-12635</link>
		<dc:creator>Enrique Place</dc:creator>
		<pubDate>Tue, 30 Dec 2008 13:03:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.programania.net/?p=404#comment-12635</guid>
		<description>La primera vez que lo vi fue leyendo código de Zend Framework, pero no tenía claro el término &quot;Fluent Interfaces&quot;, hasta que luego lo asocié con un artículo de Martín Fowler.

Es interesante la idea, pero como todo, no hay que abusar de ella, ya que no se puede pensar en desarrollar todos los métodos como &quot;interfaces fluidas&quot;, tampoco aporta claridad hacer cadenas extensas de llamadas de métodos, uno detrás de otro.

Claramente está lejos de ser una &quot;bala de plata&quot;.</description>
		<content:encoded><![CDATA[<p>La primera vez que lo vi fue leyendo código de Zend Framework, pero no tenía claro el término &#8220;Fluent Interfaces&#8221;, hasta que luego lo asocié con un artículo de Martín Fowler.</p>
<p>Es interesante la idea, pero como todo, no hay que abusar de ella, ya que no se puede pensar en desarrollar todos los métodos como &#8220;interfaces fluidas&#8221;, tampoco aporta claridad hacer cadenas extensas de llamadas de métodos, uno detrás de otro.</p>
<p>Claramente está lejos de ser una &#8220;bala de plata&#8221;.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
