[Php-objetos] Gonzalo Re: Correccion Ejercicio 2 Clase 2

Leonardo Tadei - Pegasus Tech Supply leonardot en pegasusnet.com.ar
Mie Mar 11 22:12:09 ARST 2009


Hola Gonzalo,

El mié, 11-03-2009 a las 21:09 -0200, .txalo. escribió:
> Leo:
> 
>                Bueno, en rigor, para separar un Modelo y una Vista
>         hace falta también
>         un Controlador.
>                Me parece más sano no decorar los errores que
>         implementar tan mal un
>         MVC...
> 
> Ah ta bien! Ya se que lo que hice es una bosta! Tampoco me lo digas
> asi. Se que esta mal implementado.
> Dejemoslo ahi! 

	Me va a costar olvidarlo... todavía me duelen los ojos ;-)


>                Ni suman ni restan... cuando se escribe solo el modelo,
>         ver la
>         excepción en el navegador es lo habitual.
>                Estás manejando las excepciones para... a ver... para
>         ningún
>         comportamiento del sistema. Lo útil de las excepciones que un
>         código, de
>         interceptarla, podría HACER ALGO como volver atrás una
>         operación,
>         invocar a otro objeto... esto no solo es superfluo, sino que
>         además lo
>         implementaste mal, con esas funciones que escribiste.
> 
> Bien, entiendo. Pero la operacion  no se concreta hasta que no esta
> todo bien.

	Momento!
	No me refiero a eso, que está bien. Me refiero a que la idea de
permitir que "otro" maneje el error, es que un objeto de afuera se
entere y sin violar la encapsulación, solo recogiendo la excepción, la
maneje.
	No se me ocurre ningún ejemplo simple, pero imaginate una serie de
acciones consecutivas: de golpe, una falla, entonces en el catch
deshacés lo que hiciste para no perder consistencia. Esa es la idea. El
cartelito es solo el uso más simple posible de la cosa.

>  
>               Ambas cosas hacen exactamente lo mismo. No veo mejor ni
>         peor, salvo
>         cuestión de gustos.
>                De echo en tu ejemplo podrías haber seguido usando
>         $cuanta1, $cuanta2 y
>         $cuenta3, ya que al ser una agregación, siempre se trata del
>         mismo
>         objeto. Es decir, hay 3 formas de escribir esto en tu
>         ejercicio.
> 
> Ok!. Era para no crear tantas variables auxiliares.

	Internamente, son solo punteros al mismo objeto... no duelen para nada.


>         >   5. Creo que eso es todo ...
>         
>                No por acá... tenés esto:
[..]
>         
>                sacando que los mensajitos de excepción son
>         completamente floridos para
>         estar en el Modelo, si no veo mal, preguntás 2 veces por lo
>         mismo:
>         ($cantidad > $this->getDiario())
> 
> Jua jua! De donde salio eso?? que estaria pensando ... ahora lo miro.
> Jejejeje. 

	Ok.


>                Juan, en un exceso de prolijidad, preguntaba si el día
>         o el mes había
>         cambiado según la cuenta. Tu código no tiene en cuenta que el
>         tiempo
>         pasa. No hace falta que lo escribas, pero me interesa que
>         quede claro.
> 
> SI! YA LO SEEEEEEE!!!!! Ojala dispusiera de tiempo para hacerlo
> completo y bien.

	Bueno, no es excusa: al empezar el curso ya sabían la carga horaria...
al menos la misma que PHP Avanzado.
 

>                Por último, deberías haber sospechando que la cantidad
>         de IF en
>         extraer() viene creciendo, lo que significa alguna cosa... te
>         paso mi
>         implementación de extraer(), que entre otras cosas funciona
>         casi sin
>         cambio para los 3 tipos de cuenta:
>         
>         public function extraer($unMonto){
>                if (puedeExtraer($unMonto) {
>                        parent::extraer($unMonto);
>                        // alguna actualización relativa a esta cuenta
>         en particular,
>                        //como actualizar el límite o la cantidad de
>         extracciones
>                }
>         }
> 
> Y en puedeExtraer($unMontoto) deberian estar los if?? Habia pensado
> algo asi, pero bueh.

	Si es uno sí. Dos son tolerables. Tres indican que tenés más
comportamiento que modelar...


>         PD: ni las galletitas caseras te salvarán de haber escrito
>         funciones
>         dentro del código }:->
> 
> Re PD:Ja ja ja! el sabado no comes y tampoco hay mates para vos .... 


	Tu situación solo empeora.... }:->

	Nos vemos!
-- 
Leonardo Tadei
leonardot en pegasusnet.com.ar
http://blog.pegasusnet.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key



Más información sobre la lista de distribución Php-objetos