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

Jose Caballero jcaballero.hep en gmail.com
Mar Mayo 9 17:59:29 EDT 2017


aclaracion "inline"

El día 9 de mayo de 2017, 16:49, Jose Caballero
<jcaballero.hep en gmail.com> escribió:
> 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?

Por objetos queria decir "tipos de cosas", no instancias de una clase.


> ?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