Pregunta

Tengo dos clases, pero no sé qué tipo de relación debo usar. Tengo un documento de clase con muchas propiedades y sin métodos. La segunda clase es lo que llamé DocumentFact (Hecho - Fábrica). Esta clase contiene diferentes métodos que devuelve una colección de objetos Document.

Entonces, la clase Document no sabe nada acerca de la clase DocumentFact porque no tiene nada que ver con eso. Por otro lado, DocumentFact crea múltiples objetos Document. ¿Qué tipo de relación UML es esta? Estaba pensando en algo como esto:

--------------           ------------
|DocumentFact|  -------> | Document |
--------------       2.* ------------  

O:

--------------            ------------
|DocumentFact|  ------- []| Document |         // Composition
--------------            ------------  

¿Qué opinas?

Otros consejos

Solo mi opinión: si DocumentFact es realmente una Fábrica, gastaría las tres pulsaciones de teclas adicionales y lo explicaré. Obliga a los usuarios de su clase a determinar si se refiere a "fábrica de documentos". o "hecho sobre un documento" cuando leen el nombre de la clase por primera vez. La incertidumbre es innecesaria, especialmente si puede tocar escribir. Recomiendo que el nombre sea más autodocumentado y menos ambiguo.

Estoy de acuerdo con el conjunto de herramientas de que las fábricas y el producto son una relación de instancias: el descriptor de multiplicidad no se aplica a menos que la fábrica también tenga la intención de mantener referencias a los objetos del producto, en cuyo caso es un 1: * o 1: n (multitono) de todos modos

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top