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

Комментарии • 16

  • @luisandrade1858
    @luisandrade1858 3 года назад +2

    Qué buena explicación ni en la universidad me lo han explicado tan bien como lo hace Nico.
    ¡Qué gran explicación!

    • @rubenarts
      @rubenarts 2 года назад

      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.

  • @micaelasanchez6685
    @micaelasanchez6685 4 года назад +1

    Muy bueno!! Me ayudó a clarificar un montón de conceptos, gracias Nico!

  • @6abriel9
    @6abriel9 3 года назад

    Excelente video, me quedo clarísimo agregación y composición

  • @LicAntoMiranda
    @LicAntoMiranda Год назад

    excelente!

  • @hydeslayer5638
    @hydeslayer5638 3 года назад

    buena explicación

  • @jorgegustavobanegas8491
    @jorgegustavobanegas8491 2 года назад

    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?

    • @NicolasBattaglia
      @NicolasBattaglia  2 года назад

      hola Jorge
      tenes que hacer un "pasamanos" con los mensajes, incluso podes usar el constructor de la clase "Cabeza" y allid entro CrearOjos()

  • @oscarabuawad281
    @oscarabuawad281 2 года назад

    excelente explicación, seria posible que comparta el código fuente ?

    • @NicolasBattaglia
      @NicolasBattaglia  2 года назад

      aca hay muchos ejemplos gitlab.com/UAI-TCTD

    • @oscarabuawad281
      @oscarabuawad281 2 года назад

      @@NicolasBattaglia Selo agradezco, muchas gracias

  • @risingforce9648
    @risingforce9648 6 месяцев назад

    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.

    • @NicolasBattaglia
      @NicolasBattaglia  6 месяцев назад

      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

    • @risingforce9648
      @risingforce9648 6 месяцев назад

      @@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.

  • @bF93712
    @bF93712 3 года назад

    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!.

    • @NicolasBattaglia
      @NicolasBattaglia  3 года назад +1

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