Buen punto. Cuando se cae un avión siempre dicen:

1. Falla humana => falla del piloto.
2. Falla técnica => falla del avión

Pero la falla técnica es porque alguien no hizo la mantención como se debe o
al guien lo diseño mal, así que al final todas las fallas son humanas.

Pero eso no resuelve nada. ¿Porqué se produjo el problema?

De la misma manera, cuando en una empresa se produce un problema, se puede
buscar al culpable y despedirlo, o se puede buscar el proceso que siguió y
cambiarlo.

Por eso en las buenas empresas lo sprocesos cambian continuamente, y a los
empleados se les pide que sean capaces de cambiar de proceso todos los días,
que sean capaces de rediseñar sus propios procesos y que se aseguren de
hacer el trabajo bien al diseñar procesos a prueba de fallas (y de tontos).
De modo que lo que dices "es culpoa del programador" en realidad no es una
herramienta muy útil a menos que tengas algún mecanismo o proceso para
determinar dónde se equivocó.

Saludos,
Guillermo.
2008/9/11 Andres Valloud <[EMAIL PROTECTED]>

>
> Y, que se yo... no diria que se rompe el encapsulamiento porque por
> definicion las subclases ven la estructura de las instancias de la(s)
> superclases... a mi por lo menos me da mas por el lado de apuntarle un
> dedo acusador al programador mas que a una cosa abstracta como la
> palabra "encapsulamiento" que no se puede defender por si misma y por
> lo tanto no puede tener responsabilidades...
>
> Pero bueh, es solo una opinion.
>
> Andres.
>
>
> 2008/9/11 Guillermo Schwarz <[EMAIL PROTECTED]>:
> > Buen punto, el mismo que hizo Alan Kay, que debiò haberse llamado Message
> > Oriented programming en vez de Object Oriented.
> >
> > Pero creo que de todas maneras el problema no se resuelve ahí. El
> paradigma
> > de enviar mensajes es tan simple como usar XML o usar web services. Pero
> eso
> > al final no significa nada hasta que los mensajes no se vuelven
> > polimòrficos, de modo que volvemos a lo mismo: El polimorfismo y que el
> > còdigo no esté repetido.
> > Los "accessors" no resuelven el problema de la encapsulaciòn y la
> herencia.
> > La herencia rompe la encapsulaciòn porque las clases derivadas se rompen
> > cuando una clase base es modificada (si se cambian sus variables de
> > instancia por ejemplo). Accesors màs o accesors menos, las clases
> derivadas
> > dejan de funcionar de todas maneras, por eso son tan importantes las
> pruebas
> > unitarias.
> >
> > Saludos,
> > Guillermo.
> > 2008/9/11 Andres Valloud <[EMAIL PROTECTED]>
> >>
> >> Me parece rarisimo que se hable de enseñar objetos y no se mencione la
> >> palabra mensaje ni una vez.  Ademas, me parece que al polimorfismo le
> >> falta algo... no me parece que sea solo herencia + encapsulacion.
> >> Finalmente, lo que a mi gusto rompe la encapsulacion con herencia es
> >> codigo mal escrito.  Si uno usa accessors no hay (creo) problemas.
> >>
> >> Andres.
> >>
> >> 2008/9/11 Guillermo Schwarz <[EMAIL PROTECTED]>:
> >> > Estoy 100% de acuerdo contigo aunque puede que no estés 100% de
> acuerdo
> >> > conmigo... ;-)
> >> >
> >> > Supongo que el problema es la manera en que se enseña orientación a
> >> > objetos:
> >> >
> >> > OO = Herencia + Encapsulación + Polimorfismo
> >> >
> >> > Polimorfismo = Herencia + Encapsulación
> >> >
> >> > => OO = 2 * Polimorfismo
> >> >
> >> > Luego se enteran que:
> >> >
> >> > Herencia => ! Encapsulación
> >> > Y colapsan.
> >> >
> >> > Lo que yo haría diferente es explicar a los nuevos estudiantes de OO
> lo
> >> > siguiente:
> >> >
> >> > 1. El punto está  en que lo que se quiere lograr es el polimorfismo y
> el
> >> > mecanismo para lograr eso podría ser herencia + encapsulación.
> >> > 2. Como herencia => ! encapsulación, miremos una alternativa que son
> los
> >> > proxies. ¿Cómo podemos hacer todo con proxies en vez de herencia?
> >> >
> >> > Entonces la idea de los traits parece una buena idea. Si se usa un
> >> > compilador o no ya es otro cuento.
> >> >
> >>
> >>
> >> Guillermo Schwarz
> >> Sun Certified Enterprise Architect
> >>
> >> >>
> >
>
>  >
>


-- 
Saludos cordiales,

Guillermo Schwarz
Sun Certified Enterprise Architect

--~--~---------~--~----~------------~-------~--~----~

To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]

http://www.clubSmalltalk.org
-~----------~----~----~----~------~----~------~--~---

Responder a