Transformar un diagrama de clases UML a código con C# (Asociación, Agregación y Composición)
HTML-код
- Опубликовано: 14 окт 2024
- #uml #clase #poo
Ejemplo de codificación de diagramas UML de clases clases: Asociación, Agregación y Composición
La clave para entender mejor el paradigma orientado a objetos
Qué buena explicación ni en la universidad me lo han explicado tan bien como lo hace Nico.
¡Qué gran explicación!
En la uni no saben esto que se explica de forma práctica, solo teórica. Cuando no te ponen ejemplos reales del como representar en código un diagrama Uml es que no tienen ni idea.
Muy bueno!! Me ayudó a clarificar un montón de conceptos, gracias Nico!
Excelente video, me quedo clarísimo agregación y composición
excelente!
buena explicación
Un objeto puede estar compuesto de otro objeto compuesto? Por ejemplo una persona está compuesta de una cabeza, y la cabeza a su vez está compuesta por ojos? Es válido representarlo así? Y si es posible cómo se representaría en código?, ya que tengo entendido que la clase "raíz" es la única encargada de "crear" a su "agregado", pero ese agregado a su vez es raíz de otro agregado, entonces como crearía el agregado de ese agregado?
hola Jorge
tenes que hacer un "pasamanos" con los mensajes, incluso podes usar el constructor de la clase "Cabeza" y allid entro CrearOjos()
excelente explicación, seria posible que comparta el código fuente ?
aca hay muchos ejemplos gitlab.com/UAI-TCTD
@@NicolasBattaglia Selo agradezco, muchas gracias
lo mas loco que ami me pasa es que llevo años sin entener las flechas, no me juzguen programo bastante bien, pero el sentido de las flechas nucna fue claro para mi , yo lo veo como origen , punto, final flecha.... la responsabilidad es origen-destino... porque por ejemplo en la generalizacion , para la herencia...la flecha va desde la clase hija a la calse base... lo cual para el sentido comun es dificil...o al menos para mi.... llevo años creando polimorfismo herencia y todo eso, pero me cuestam ucho los UML generalmente hago bloqeus de codigo en paint.
Es que todo tiene una semantica. En la herencia, se lee "es un" por eso de la clase mas específica apunta a la mas general. Por ejemplo un ave es un animal
@@NicolasBattaglia entendi mejor gracias a tu video..cuando lo habia aprendido hace unos años lo olvide por ansiedad , no tomar notas a tiempo.... ahora tu tutorial me quedo mas claro !! gracias!!! enormes.
bravísimo! me ayudó un montón el video, no se ven ejemplos de UML pasados a código, muy buen profesor!
Tendría dos preguntas
1: en el diagrama veo a +cliente y +items ( que serían las propiedades de Documento ) y en el código los veo como "private", en ese caso en el UML no deberían ser -cliente y -items?
2: en el minuto 12:18 el ejemplo de items, si cambiaramos y le pasamos el item ya creado al método AgregarItem( Item item ), ahí sería agregación?
saludos y muchas gracias por el video!.
me alegro que te sirva! Gracias por tu feedback!
En respuesta a tus preguntas, si son propiedades (getters y setters) van a ser públicas (podrias tener un miemb ro privado _cliente para mantener el estado), pero depende de, justamente, si queres que esta relación esté o no visible. LA relación de agregación es "más conceptual", en definitva, o creas el objeto dentro (composicion) o lo creas fuera, pero la agregación suele usarse para darle semántica e incluso, para atar los ciclos de vida de los objetos. De todos modos, es una agregación tal como lo indicas!!