[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