UML Class and Object Diagrams | Association vs. Aggregation vs. Composition | Geekific

Поделиться
HTML-код
  • Опубликовано: 17 окт 2024

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

  • @josuehernandez2784
    @josuehernandez2784 2 года назад +48

    I honestly believe that everyone having troubles to understand relationships should watch this video. It helped me a lot! Thank you

  • @musabansari8607
    @musabansari8607 8 месяцев назад +4

    Maybe the best content on this topic in the entire youtube. Very Comprehensive Video. Thanks Geekific.

  • @zladtv1456
    @zladtv1456 10 месяцев назад +2

    I have been trying to understand where to use associations by watching tutorials for an hour and 10' now. Finally I understand. Thank you!

  • @raywong9832
    @raywong9832 Год назад +2

    The video clearly explained how the association relationship evolved into aggregation and association relationships, and the drawing of the symbols, and the difference between class and object relationships. I watched many videos before and read a lot of articles, but each time I got more confusion as I watch/read, very frustrated. finally, I got it all figured out. To make your video more complete, it would be nice if you could add some real code along with the video. After all we want to code. Thank you.

  • @4thehood
    @4thehood 3 месяца назад

    This is really helpful video to understand the difference between the relationships of classes. Watched so many videos before this one, but this is the best match!! MUST WATCH!!!

  • @_rtdp_
    @_rtdp_ Год назад +2

    This is the only video lecture where I clearly understood class relations 😭😭😭... Thank you very much ❤️❤️❤️

  • @PrakharSrivastava-t3o
    @PrakharSrivastava-t3o Месяц назад

    Excellent video! What a clear and concise explanation of the three concepts! Thank you. Keep up the great work.

  • @sadam_khan
    @sadam_khan 2 года назад +1

    Like trump says, it was the best of the best tut on this topic. Finally grasp the concept with clarity.

  • @NavigateThroughUniverse
    @NavigateThroughUniverse 5 месяцев назад

    you have the best teaching skill among the youtubers i've watched , keep it up bro ....!

  • @vengateshm2122
    @vengateshm2122 3 года назад +8

    10 minutes of effective knowledge. Thanks to you and RUclips algo for bringing your videos to me which keeps me updated with these information.

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

      So nice of you! It's my pleasure man :)

  • @nickpratt9338
    @nickpratt9338 Год назад +1

    Best explanation I've heard on this topic. I don't think ever really understood it until now.

  • @asiframzan437
    @asiframzan437 10 месяцев назад

    This is an amazing explanation, and the result is that I'm able to highlight a mistake in the Object Diagram when aggregating SavingsAccount to SubAcnt. In fact, the diamond shape must be towards SavingsAccount because this SavingsAccount is a container for SubAcnt, just like Customer, which is a container for BankAccount.
    Regards

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

    Thank you for taking the time to record this. It was really helpful.

  • @FredBwalya-ge5fr
    @FredBwalya-ge5fr 4 месяца назад

    Very helpful video. I watched it once and got the concept.

  • @stephenkiss4614
    @stephenkiss4614 3 года назад +11

    Great content! Are the composition associations from the SavingsAccount to the SubAcnt backwards? I thought the filled in diamond node at the end of the association was supposed to be connected to the more generalized
    container

    • @geekific
      @geekific  3 года назад +3

      Thanks :) Ohh, at the very end in Object Diagrams, it's direction should be exactly the way it was while explaining Class Diagrams. Kudos to you, well done

    • @braineedly7543
      @braineedly7543 2 года назад +1

      7:50 How on earth Customer have relation and knowing when Bank Event without have anything about Bank Event?

  • @yasukunijinjatoilet
    @yasukunijinjatoilet 7 месяцев назад +3

    I believe there is something wrong with the object diagram show case appers at 9:26 regarding to the relationship directions between subaccounts and bandaccounts.

    • @aulerleandro
      @aulerleandro 7 месяцев назад +1

      I also noticed, small mistake

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

      Yes! It is noted in the description, sorry about that.

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

      @@geekific Nice. Thanks for the well designed tutorial!👍

  • @willft520
    @willft520 2 года назад +8

    On the last example at 9:09, there's a mistake on the relationship between the SubAcnt and the SavingAccount objects as the SubAcnt objects appear containing the SavingsAccount object, but it should be the other way around, with the filled diamond on the SavingsAccount side.

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

      Yup, thanks for sticking till the end! Was mentioned multiple times in the comments :)

    • @willft520
      @willft520 2 года назад +1

      @@geekific Thanks for the reply and, of course, for the content of your video! I like very much the way you explain things! Sorry I wasn't careful enough to check if there was any comment on that error, I did a quick search and didn't see anything about that loaded on the top comments at least so I decided to leave that message. I've been researching this topic lately, I've learned a lot and redefined many concepts I thought I understood already.

    • @geekific
      @geekific  2 года назад +1

      I am so happy you found our videos helpful :) On the contrary thanks for mentioning it, you're helping a lot :D

  • @romankost8828
    @romankost8828 2 года назад +1

    Super explanation with the much needed humor!

  • @jorgepinilla5494
    @jorgepinilla5494 2 месяца назад

    greatest video of uml class model

  • @anderskristoffersen3270
    @anderskristoffersen3270 Год назад +2

    Why do the diamond arrows point in different directions in classes (6:30 min) and objects (9:20 min)?

    • @geekific
      @geekific  Год назад +1

      Are you referring to the "correction" mentioned in the description?

  • @kzvlogs7186
    @kzvlogs7186 Год назад +1

    Thank you for explaining so clearly.😊

  • @yogeshkumargupta265
    @yogeshkumargupta265 2 года назад +1

    I learnt about a dotted line notation with open arrow at the end, which denotes dependency. I am unable to understand what is the difference between dependency and association. Like, With your example, Customer class has a method for subscribing to BankEvent. So Customer has an association with BankEvent, at the same time, Customer is dependent on BankEvent. Isn't that always the case????

    • @geekific
      @geekific  2 года назад +1

      Good question! A class is associated with another whether it has it as an attribute / property or no. If it is an attribute, then it either falls under aggregation or composition as explained in the video, if not (if it is only used as a method parameter or return type etc.) then it is a dependency. Hope this helps :)

  • @dddd-ci2zm
    @dddd-ci2zm 2 года назад

    Excellent! This is the best description of the arrows~

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

    Thank you so much. It helps me have a clear understanding about relationships.

  • @Manju_Devi_Ghaziabad_UP
    @Manju_Devi_Ghaziabad_UP 3 месяца назад

    By hierarchical relationship
    sub class can not exist without super class it is same as composite aggregation ???

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

    Thanks for the video. But regarding that association between BankEvent and Customer. Point is why did you decide to relate BankEvent to the Customer at all? I would create a Bank - class and relate it to the Bank (as a composition, cause event can't exist without a bank).. For me the question of necessity of having an "association" option remains unclear. Could you make maybe another example where havng "association" in unavoidable?

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

      Thanks for the feedback, well received! We will try to answer these concerns in future videos. Stay Tuned!

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

    u just helped me to pass my test.....thanks alot !!!

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

      Glad I could help! All the best :)

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

    I have a different opinion that except inheritance others like association aggregation and composition talks about object relationship. Where Inheritance is all about relationship between classes.

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

    Great video. I have a question regarding aggregation. So how do we determine the place of the "diamond symbol"?. If the diamond is placed at the "customer class", does it mean that a customer has a bankaccount or a bankaccount has a customer? It is probably a bad example here since both things are possible...

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

      Thanks! The "diamond symbol" is usually placed on the container class. Hope this answers it!

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

      @@geekific yeah. Thanks!

  • @KizilBoss
    @KizilBoss 11 месяцев назад

    Thank you for the great video. I am struggling with the banccount class and the subclasses. As you did the object diagram there was no bank account obejects only savingaccoubt and milesaccount object.
    Is backaccount an interface or abstraxt class? Customer has a list of Bankaccoubt how it will work with saving accounts and milesaccount because its not the same type.
    I am honest great uml explanation but i am confused af 😢.
    Can you explain it? I would love it if you could explain whrn to use inheritance or Interface? Thank u
    Update: ok, Bankaccoubt is an abstraxt class so we can create instance of the the inplementation as Saving Account and Milesaccount. Can we use only base and subclasses instead of interface and implementing classes? Plz do an video 😵‍💫 I am for the first time really confused.

    • @geekific
      @geekific  11 месяцев назад

      Can you please clarify as to what is the confusing part exactly? Is it the difference between abstractions and interfaces?

    • @KizilBoss
      @KizilBoss 11 месяцев назад

      @@geekific yes, thats the first Question, second is what if we use only inheritance for bankaccoubt and the subclasses? Will it work? If not what is the scenario of using inheritance and not abstraction? Thanks

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

    Seems direction of subAccount direction might be pointed opposite in the Object daigram. Please correct me if i am wrong

    • @geekific
      @geekific  Год назад +1

      Mentioned in the description!

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

      @@geekific Thanks

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

    you are really doing a good job here .

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

      Thanks a lot! Glad it was helpful!

  • @SaimaAnwar-y3b
    @SaimaAnwar-y3b Год назад

    When Object diagram is formed, where is Bank aount lass is gone? WHY is it not there in Objet Diagram

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

      Because you create objects based on implementations and not abstractions!

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

    my university lecturer is great but you really helped me understand this more

    • @geekific
      @geekific  2 года назад +1

      Glad I could help! :)

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

      You're one of the very few people who admired the university lecturer along with the channel. That's nice!

  • @abhilashpatel6852
    @abhilashpatel6852 Год назад +1

    This is gold.

  • @swarnas2313
    @swarnas2313 2 года назад +1

    Wonderful explanation 😄. Keep producing more of these content with us 💟

  • @MuhammadUsmanQasim-es8fm
    @MuhammadUsmanQasim-es8fm Год назад

    You're a life saver bro 🙌

  • @williamaditama1352
    @williamaditama1352 7 месяцев назад

    In the last object diagram, aren't the composition arrows inverted?

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

      Yes! It is noted in the description, sorry about that.

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

    shouldn't the object diagram at 9:18 be bankAcc: milesAccount not milesAcc : milesAccount?

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

      Thanks for pointing that out! This was actually mentioned as part of the description! Cheers :)

  • @krzysztofskibniewski5608
    @krzysztofskibniewski5608 Год назад +1

    Great video 👍, it explained a lot to me, but I miss converting UML to code to see what the code looks like digested with such a diagram.

    • @geekific
      @geekific  Год назад +1

      Thanks! Great idea, will try to cover it in an upcoming video :)

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

    Hi, cool video. I have one question tho: shouldn't it be a dependency relationship between Customer and BankAccount instead of an association one?

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

      Thanks! Can you please elaborate? It is already set as an aggregation in the video.

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

      Oh sorry, i meant BankEvent, not BankAccount.. didn't notice

  • @sarthakgiri4596
    @sarthakgiri4596 Год назад +1

    wow literally wonderful

  • @ravithun5347
    @ravithun5347 Месяц назад

    Thank you for your good explain

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

    Thanks for helping me with my software technology program

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

      Glad I could help :)

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

    ياعم انت جامد ياعم♥️
    Thank you

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

      Thanks a lot! Glad you liked it :)

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

    The direction between subaccount and account is different in the two models...isn't it?

    • @geekific
      @geekific  2 года назад +1

      Yes it is, in the object diagram it is switched, I can't fix the video but because it is not the first comment addressing this, I will add it as a note in the description :) Cheers!

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

    very helpful for concepts on UML class and object diagram. I wonder how to represent method in object diagram, kind of value of method!

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

      Glad it was helpful!

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

    Really amazing job with the explanation!

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

      Thank you! Glad it helped!

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

    How can bank account exist if there is no customer?

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

      You are thinking about it from a real-world perspective, in the video we are doing this from an implementation / a technical perspective.

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

    Multiplicity wasn't explained very well. Allow me to clarify:
    The multiplicity attached to each class indicates how many instances of that class can be aggregated-by/composed-by/associated-with a *single* object of the other class.
    For example, the relationship @4:53 says two things: (1) "0...N BankAccount(s) can be aggregated by each single Customer object" and (2) "There is exactly 1 Customer object for each single BankAccount object". Similarly, @7:23 (1) "0...N BankEvent is associated with a single Customer object (i.e., a Customer can attend 0 or more BankEvents)" and (2) "0...N Customer is associated with a single BankEvent (i.e., Each BankEvent can have 0 or more Customer(s))"

  • @doriansmith5667
    @doriansmith5667 Год назад +1

    Thank you. Blessings

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

    nice explanation!

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

    keep going , perfect explanation, thanks a lot

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

      Thanks, will do! Glad it was helpful :)

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

    Thank you so much, very clear explanation

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

      Glad you liked it :)

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

    nice one

  • @mehdi-vl5nn
    @mehdi-vl5nn 2 года назад

    perfect explanation

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

      Glad you think so!

    • @mehdi-vl5nn
      @mehdi-vl5nn 2 года назад

      ​ @Geekific on second thought about the last example, is not right eventually we have to break down many -to -many to one- to -many and we need a middle table

    • @geekific
      @geekific  2 года назад +1

      @@mehdi-vl5nn You are thinking about it from a DB perspective! But to answer your question, the relation between the middle table and each entity in this case will be one to many, but what about the two outer entities linked via the linking table? it is still a many to many, and that is what we are trying to explain here:) Hope this helps! Cheers!

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

    7:50 How on earth Customer have relation and knowing when Bank Event without have anything about Bank Event?

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

      There is a relation between the two as action is being taken by the Customer when provided with an Event, so, it does know stuff about the event and act upon them but it is not storing these event, it is not a *container* for these events and hence it is not an Aggregation, that was the whole point :) Hope this answers your question!

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

    Great! Thank you so much

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

      Glad you liked it :)

  • @vikramragunathan6392
    @vikramragunathan6392 Месяц назад

    Take a bow 😃

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

    nice video sir, thanks

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

      Glad I could help!

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

    Thank you so much!

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

      No worries! Glad it helped :)

  • @Денис-ж3ф5р
    @Денис-ж3ф5р 2 года назад

    Cool, man.

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

    Thank you

    • @geekific
      @geekific  2 года назад +1

      My pleasure :)

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

    In many to many association do we need to Define a new class?

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

      Hello :) Am not sure I really got your question, can you please rephrase it? Sorry.

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

    great thank u

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

      Thanks! You're welcome :)

  • @besz.1218
    @besz.1218 2 года назад

    magnifique

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

    Tooo much confusing honestly .....

    • @geekific
      @geekific  2 года назад +1

      Sorry to read that :/ I'll be more than happy to answer any question you may have in the comments section :)
      Do you mind pointing which parts/topics specifically were confusing to you so we may improve it in future videos? Thanks for your feedback :) Cheers!

  • @mhmdsha3ban969
    @mhmdsha3ban969 8 месяцев назад

    are you Lebanese bro?