[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