PDA

Ver la versión completa : Duda al asignar responsabilidades en POO



The_Frog
23-07-2014, 08:20 AM
Perdón por lo genérico del título. Estoy aprendiendo programación (duh) y tengo problemas con algunos conceptos de diseño. Uno en particular supongo que es bastante básico y quizás puedan ayudarme.

Suponiendo que tengo una clase Objeto y ninguna clase que agregue instancias de Objeto, ¿qué clase debería contener métodos como listarObjetos(), listarObjsPorAtributo(atributo), buscarObjPorId(id)? Objeto creo que no, porque dudo que deban ser métodos de instancia de la propia clase y tengo la impresión que como métodos estáticos tampoco estarían bien ahí. ¿Debería usar fabricación pura y crear una clase que contenga esos métodos (estilo GestionaObjeto)? ¿Hay algún patrón que indique cómo proceder en esta situación?

Gracias por adelantado (odio esta frase).

carp
01-08-2014, 02:08 PM
deberías tener un controller, un controlador que puede ser un fachada en caso de que tu sistema sea chico. por ejemplo si aplicas el patrón singleton (varios controladores lo que creas necesarios para manejar y organizar eficazmente tu sistema).
en casi de que tengas uno sería el controlador Sistema, que es el que debería tener esos métodos que has dicho. slds

The_Frog
02-08-2014, 12:10 AM
Gracias por responder. Tiene sentido. Vengo usando controlador de fachada pero más que nada para delegar responsabilidades (realizando llamadas). Algo que me tira para atrás es la cantidad de métodos con baja cohesión que termino teniendo en ese controlador. Por ahí tendría que empezar a separar en controladores de caso de uso; el problema es que por falta de experiencia me cuesta darme cuenta de arranque si el programa va a ser lo suficientemente complejo (grande) para que sea necesario.