[Python-es] pregunta sobre OOP: ?donde poner un metodo list()?

Jose Caballero jcaballero.hep en gmail.com
Mar Mayo 9 16:49:08 EDT 2017


Pirmero, perdon por la ausencia de tildes.



Imaginemos un caso cualquiera donde el programa tiene que crear,
modificar, eliminar y listar "cosas", en algun tipo de registro (una
BBDD, ficheros, servicio web, etc.)
Las podemos llamar Item.

Imagino que necesitaria una clase Item con los metodos para crear,
eliminar y modificar:

class Item:
    def __init__(self):
        ...

    def create(self):
        ...

    def remove(self):
        ...

    def update(self, data):
        ...


Mi duda es donde habria que tener un metodo list().
?En una clase diferente, tipo ItemsManager o algo parecido?

Asumiendo que la respuesta es que si...
?Que pasa si tengo 2 o mas objetos que gestionar: Item1, Item2, ..., ItemN?
?Necesitaria sendas clases Item*Manager?
?O todo en una sola, como sigue?

class ItemsManager:
    def listitems1(self):
        ...

    def listitems2(self):
        ...

    def listitemsN(self):
        ...

?Que me recomiendan?
Cualquier sugerencia de alguien con experiencia en OOP sera mas que bienvenida.
Y links con ejemplos de buenas practicas para este tipo de problemas, mas aun :)

Gracias,
Jose


Más información sobre la lista de distribución Python-es