[pyar] Problema de patrones/diseño
Andrés Gattinoni
andresgattinoni en gmail.com
Mie Ene 12 17:23:08 ART 2011
2011/1/12 Horacio Francisco Sebastian Duran Barrionuevo
<horacio.duran en gmail.com>:
> On Wed, 12 Jan 2011 17:01:35 -0300
> Andrés Gattinoni <andresgattinoni en gmail.com> wrote:
> para tu problema particular lo podrias acortar un poco.
>
>> class Backend (object):
>> def add_item (self, item):
>> if not isinstance(item, Item)
>> raise Exception("An Item object was expected")
>
>>
>> class SQLBackend (Backend):
>> def add_item (self, item):
> super(SQLBackend, self).add_item(item)
>> self.db.insert(item)
>>
> El resultado seria lo mismo (existe una alta probabilidad de que le
> haya pifiado al orden de los args de super, me passa a cada rato)
Claro, lo pensé, pero lo que no quería era tener que llamar al método
del padre en cada subclase, porque en algún método me puedo olvidar y
capaz después para darme cuenta dónde pifié es un bardo. En cambio, la
forma que hice ahora, ya de entrada sé que en cada subclase voy a
estar re-implementando un método "privado". Si me olvido de
reimplementar un método, la acción no va a tener ningún resultado,
pero siempre se va a llamar al método de la clase madre porque es el
único público.
More information about the pyar
mailing list