Guys, for aggregation and composition think of it this way Aggregation(empty rectangle): If a dog breed goes extinct, dogs don't go extinct. Composition(filled rectangle): If dogs go extinct, the dog breed also goes extinct.
Reworded in a more lengthy fashion: Aggregation: The 'Dog' contains a multitude (aggregation) of 'Breeds'; therefore, if a 'Breed' disappears, the 'Dog' remains. Composition: Each 'Breed' is made up of (composed of) 'Dog'; therefore, if 'Dogs' disappear, 'Breeds' can no longer exist.
sorry to be so off topic but does anyone know a trick to log back into an Instagram account..? I somehow lost the account password. I appreciate any assistance you can offer me!
Since Dog is a (sub-)class implementing and inheriting methods from the abstract Animal class, the arrow should be on the other side (see video at 14:05)
From your explanation of Aggregation & Composition, I think you got the notations wrong. Composition should be the filled diamond while Aggregation is the empty diamond. But you used them in the reverse.
+Derek Banas you should create an annotation to let people know about that mistake. Luckily I saw this comment, but others might not see it. Anyways thanks a lot for this video.
+Derek Banas You made one more error. The arrow should be pointing on to the abstract class Animal and not the subclass as it is presented in the video. The "Dog "class inherits from the "Animal" abstract class - not the other way round.
You're very welcome :) An Association occurs when a class contains a reference to another class "Has a". An Aggregation and a Composition are both Associations, but are more complex Associations. An Aggregation occurs when a class contains another class and the contained class can exist without the container class. A Composition ("Part of") also has a class that contains another. The only difference is that the contained can't exist without the container. I hope that helps
That is really up to you and your team. In the real world i normally always used simple class diagrams and verbose sequence diagrams and never had any trouble. Normally new programmers either create overly complex UML diagrams or don't understand them at all. You will normally be at the mercy of the systems architect were you are hired. i hope that helps :)
This tutorial covers the UML 2.0 specification exactly. I do however know what you are referring to. Also, most people don't use the exact spec all of the time in the real world. As you'll see when you get to sequence diagrams I don't either :)
If only everyone had a teacher like you. If only. Thanks to the UA-cam creators for giving people like you an opportunity to teach countless people like me who haven't had a good teacher, and most importantly, thank you!
The association arrows are almost always pointed at the containing object. I cover that later in this series because as you pointed out I should have done it that way. A Composition Association (Filled Diamond) is one in which if the container is destroyed so is the contained object. Aggregations (Empty Diamond) is one in which if the container is destroyed the contained lives on. Composition - "Part of" Aggregation - "Owns a"
Thank you for these. I am finding myself thrown into a OOA&D class with no real previous knowledge and you are thorough and do not skip "obvious" stuff like other videos do. Obvious comes with experience and these are perfect for me as a beginnger.
I check all my UA-cam personal messages. The ATM system I designed isn't much different from what you want to design. Instead of passing emails it passes an ATM transaction. Replace PIN number and valid card number with userid and password. They are almost exactly the same
I have seen that presented in both ways. In the real world unlike in books there are very few iron class rules. I for example always preferred to ignore most all diagrams except for sequence diagrams which I made very detailed. I never had a boss tell me what I was doing was wrong. As an architect at the time, all of the programmers under me loved working with me.
My undergrad is Computer Science and I have studied UML 8 years ago. As a PhD student I couldn't find a better refreshing tutorial than yours. good job. can you please post your slides so we can take notes on it. That would be great keep it up
Thanks for taking time to put these lessons together. It sure is nice hearing a coherent and native English-speaking instructor, as opposed to an unintelligible thick Indian accent.
Thank you very much for the compliment :) I think because I aim to satisfy people that enjoy fast videos that I stand apart from many of the other tutorial people. I'm very happy that you enjoy them. Yes, I have over 500 videos on my UA-cam channel. Some of the old ones are terrible, but I do my best to always improve.
Basically you need to create a use case description that goes over everything in exact detail. Then break everything into objects. Students, admins, email, everything becomes an object if it is an object in the real world. Then translate the use case description into a sequence diagram. You have the objects and the interactions, so you just have to connect them. My object oriented design tutorial shows you everything step by step. Tell me if you have questions after watching the 1st 2
The best explanation ever.. Your articulation of voice is amazing and gives more meaning to your words. Only few people know to talk like this, especially on dry subjects like requirement engineering, process modeling, diagrams etc.
All architects work differently. I personally use sequence diagrams that are heavily commented. I also write very detailed usage descriptions. I make class diagrams, but I don't dwell on them. In the real world I do all of this stuff with paper and pencil. In groups I always work on a whiteboard
1.)@ 2:10: semantical error: encapsulation is not information hiding. encapsulation is the concept of encapsulating attributes and methods, which are logically dependent, i.e. the methods operate on the attributes. www.javaworld.com/article/2075271/core- java/encapsulation-is-not-information-hiding.html 2.)protected elements are also accessible to classes in the same package
I have no words to describe how you change my life with your videos! Thank you for all your tutorials..I'm not English-Speaker but your explanations are so clear that i understand quickly!
The system is all the objects combined. Break everything down into their smallest parts. If it is an object in the real world then make it an object in your use case. Watch my examples and you'll get it. I provide both fast and slow examples
I just want to thank you for this tutorial service you provide. Currently taking an online community college course with no lectures provided and a very bland textbook; this is helping me immensely!
I'm sorry, but I just started Android tutorials. I'm having a hard time finding the time to get those out quickly. I promise to cover Obj C as soon as possible. May God bless you as well :)
With both an Aggregation and a Composition, a class (I'll call it Dog) contains another class object (One is Bark and the other is FavoriteFood). With an Aggregation, since FavoriteFood could be used by other potential Animal objects (Non Dog Objects) then if the Dog object is destroyed FavoriteFood could continue to exist. With a Composition, Bark couldn't exist or would have no meaning without the Dog object (Assuming that no other Animals bark) Does that help?
You are correct. I'm sorry if I didn't make that clear. I think I got a bit tongue tied and I went back and revisited association arrows to correct any misunderstanding in the next few tutorials. Thanks for pointing that out :)
I remember going through your java tutorials over 10-15 years ago as a teen... now I'm a plumber who makes video games at a high level in their spare time lol
Hello Derek I am taking course On object oriented design from Alberta university (from Canada ) and there is some points are different 1- association is just when object is a parameter to method in other object class and in uml is just line (not doted line as in video) 2- aggregation is different a way from composition in code that aggregation is when u have something like array of the object of other class (and this array may have objects or may null) but in composition the object u use from other class need to be used every time u use this object (that can happen when u declare that object in yr constructor )
Thank you :) I do my best to make everything understandable. I have one more video on the syntax of UML and then I'll get into using them in real world applications
It will be so kind of you if you initiate it not too late. As I am into objective c now a days just a beginner. Right now following lectures from stanford university on youtube but I am sure I will understand much more if you will deliver your lectures. May the CREATOR of all mankind bless your service.
You put me in a total stupor with your Dog and Breen diagram. Composition relationship is drawn with a solid diamond. Just put an annotation at that point and yup, hammered down, everything will be fine. Other than that, good job!
Diagram at 14:30 says that Animal extends Dog I believe that you wanted to put it diffeently. And some slide before you put abstract class Animal below Dog. It was correct notation, but I believe it's more readable if abstracts are above inherited classes
14:06 The arrow is facing the wrong way :) With interfaces, the arrow is from Animal to Dog (which is wrong), whilst it with Inheritance at 11:23 the arrow is from Dog to Animal (which is right). (Took me 30 mins to figure out, but hey...)
I made a little error there. Sorry about that. Yes you should definitely make videos. There are a ton of requests I get that I just don't have time to cover.
Don't know if anybody said this already but I think you've got the arrow pointing the other way around on 14:02 Really enjoying your tutorials, btw. Planning on making my own once I feel prepared enough.
Thank you very much for the nice message :) Ill cover obj c and iDevice programming after I cover android. I'll cover it with the same detail I did with java
Your video has cleared much of the concepts I was fearing of. However I anticipate that would be a great service from you and help if you upload objective c programming tutorials. I love your voice pitch and clarity you use to simplify things. If possible plz bring your lectures in detail about OBJECTIVE C programming step by step.
You actually have aggregation and composition mis-matched. From what I was thought composition has a solid diamond while aggregation doesn't this is a very strange example because it's using both. If you're trying to demonstrate both I think in theory it breaks the composition definition. And the composition is more opinionated. But if the whole dog is destroyed the part breed isn't... What are you getting at here? Kind of bad confusing example. Ambiguity error please use the scope resolution operator :: lol
What are you getting at here? In composition the life cycle of the part class is dependant on the whole class. He is right about the diamonds as well. The part breed is destroyed if it is composition but not if it is aggregation. I like not this comment.
You are just awesome to listen to and learn from. You have a good skill and thank you sir for sharing your knowledge. Kudos to you! Final exam tomorrow *fingers not even crossed, just ready*
fantastic classes. man you are gifted to teach. congrats. one advice, put the number of lecture in the title. I`m just going back and forth to see which one is the next lecture. other than that.. man I wish I had you as my teacher.
I'm sure someone has said this, but the inheritance arrow on abstract classes is backwards from when you introduced them. Also, why no cheat sheet for this one? I'm printing them all out for my cube but was sad not to find one for class diagrams... Excellent tutorials by the way. Excellent.
You're very welcome :) I show on this picture what most of the arrows mean. newthinktank. com/wp-content/uploads/2012/12/UML-Domain-Model. png I hope that helps clear anything up
I'm sure u get this alot from people, but you are just simply the best. Do you have videos on other languages too.? just incase i might need them in future. Thanks again. your videos are great .:-)
@14:00 The arrow should be in reverse. Dog should point to Animal. At work in the first week I made over and over this mistake to point a base class to a inherited one when software concepts were presented (this is natural human thinking) this is why mistakes appear. Finally I was able to correct that thinking as upper class derives the base class.
Great Videos!! Very Helpful and well structured. But, next time you make a playlist, could you number the videos (it helps to find the following video if you are watching it outside the playlist)?? Thanks for all your efforts!!!
Hello Derek, this is one good example of abstraction. 1) using java class codereview.stackexchange.com/questions/83387/building-data-abstraction-for-line-segments-using-type-abstraction 2) using python function objects codereview.stackexchange.com/questions/83626/building-data-abstraction-and-adt-for-rectangle-using-objects
I love your videos and contents ! I am currently going through UML stuffs. I thought if you could make a video on when to use each of these diagrams and how it is useful that would be great !!! Thanks and appreciate all your work :)
Thank you very much.. During watching the video I had a feeling like if there was a simple example with c++ or other programming languages it would be much clearer.
I've used this kind of diagrams on C# before, still haven't used any on Java, but I would guess they are similar. My questions is: are class diagrams the only build in (or added with plugin) kind of UML diagrams in the popular programming languages like Java, C# etc. And where are the other type of diagrams (like the others in this playlist) usually used? I would guess software architects and "plan makers" in non-IT jobs as well. And also one can do it for himself, with a paper and pencil
Love the video it is helping me complete an assignment as we speak. Do you have a video that uses a class diagram and goes to the code that would really be helpful!!!
I notice that around 14:43 you mentioned that dog is a subclass of animal and having an arrow head pointing at Dog class. Now when you mentioned at 11:29 that a subclass name Dog is created from the animal superclass and having the arrowhead pointing to the Animal superclass. Other than that I will give a like. Cool stuff !!
Guys, for aggregation and composition think of it this way
Aggregation(empty rectangle): If a dog breed goes extinct, dogs don't go extinct.
Composition(filled rectangle): If dogs go extinct, the dog breed also goes extinct.
+Dedokire *Very nicely put!*
*Thanks!!*
Reworded in a more lengthy fashion:
Aggregation: The 'Dog' contains a multitude (aggregation) of 'Breeds'; therefore, if a 'Breed' disappears, the 'Dog' remains.
Composition: Each 'Breed' is made up of (composed of) 'Dog'; therefore, if 'Dogs' disappear, 'Breeds' can no longer exist.
sorry to be so off topic but does anyone know a trick to log back into an Instagram account..?
I somehow lost the account password. I appreciate any assistance you can offer me!
@Israel Bryce Instablaster :)
Since Dog is a (sub-)class implementing and inheriting methods from the abstract Animal class, the arrow should be on the other side (see video at 14:05)
yea! i noticed too!
This is must be reverse.
@@utmostcreator Yup, he needs to fix that.
From your explanation of Aggregation & Composition, I think you got the notations wrong. Composition should be the filled diamond while Aggregation is the empty diamond. But you used them in the reverse.
okeyxyz Sorry about that error. You are correct.
+Derek Banas
you should create an annotation to let people know about that mistake. Luckily I saw this comment, but others might not see it. Anyways thanks a lot for this video.
+Derek Banas You made one more error. The arrow should be pointing on to the abstract class Animal and not the subclass as it is presented in the video. The "Dog "class inherits from the "Animal" abstract class - not the other way round.
Yeah same here jeez
Yeah you're right with your point
thanks derek, i remember watching these at uni, but i come back again every couple years to watch when i need to use uml at work
You're very welcome :) An Association occurs when a class contains a reference to another class "Has a". An Aggregation and a Composition are both Associations, but are more complex Associations. An Aggregation occurs when a class contains another class and the contained class can exist without the container class. A Composition ("Part of") also has a class that contains another. The only difference is that the contained can't exist without the container. I hope that helps
Learnt more in five minutes from you than a 3 hour lecture at college :-)
+Geordi La Forge Thank you for the compliment :) I'm glad I could help.
+Geordi La Forge video is 16 mins dammit watch till end
well he must have learned 9 hours worth then xD
You could do voice acting. You have a great voice for this type of thing.
+shootingblueyes Thank you for the nice compliment :)
That is really up to you and your team. In the real world i normally always used simple class diagrams and verbose sequence diagrams and never had any trouble. Normally new programmers either create overly complex UML diagrams or don't understand them at all. You will normally be at the mercy of the systems architect were you are hired. i hope that helps :)
This tutorial covers the UML 2.0 specification exactly. I do however know what you are referring to. Also, most people don't use the exact spec all of the time in the real world. As you'll see when you get to sequence diagrams I don't either :)
If only everyone had a teacher like you. If only.
Thanks to the UA-cam creators for giving people like you an opportunity to teach countless people like me who haven't had a good teacher, and most importantly, thank you!
Thank you for the nice compliment :) I'm very happy to be of help.
The association arrows are almost always pointed at the containing object. I cover that later in this series because as you pointed out I should have done it that way. A Composition Association (Filled Diamond) is one in which if the container is destroyed so is the contained object. Aggregations (Empty Diamond) is one in which if the container is destroyed the contained lives on. Composition - "Part of" Aggregation - "Owns a"
Thank you very much :) I'm extremely happy to be able to help people all over the world. Your nice comment is very much appreciated!
Thank you for these. I am finding myself thrown into a OOA&D class with no real previous knowledge and you are thorough and do not skip "obvious" stuff like other videos do. Obvious comes with experience and these are perfect for me as a beginnger.
Thank you :) Happy I could help
I check all my UA-cam personal messages. The ATM system I designed isn't much different from what you want to design. Instead of passing emails it passes an ATM transaction. Replace PIN number and valid card number with userid and password. They are almost exactly the same
Thank you :) Yes I get tongue tied every once in a while because non of this stuff is scripted. Sorry about that
I have seen that presented in both ways. In the real world unlike in books there are very few iron class rules. I for example always preferred to ignore most all diagrams except for sequence diagrams which I made very detailed. I never had a boss tell me what I was doing was wrong. As an architect at the time, all of the programmers under me loved working with me.
My undergrad is Computer Science and I have studied UML 8 years ago. As a PhD student I couldn't find a better refreshing tutorial than yours. good job.
can you please post your slides so we can take notes on it. That would be great
keep it up
11:40 points from Dog to Animal (Dog -> Animal), meanwhile 14:20 points from Animal to Dog (Animal -> Dog). This is misguiding.
In the latter the arrow should also point towards animal: Dog -> Animal.
Thanks for taking time to put these lessons together. It sure is nice hearing a coherent and native English-speaking instructor, as opposed to an unintelligible thick Indian accent.
Thank you very much for the compliment :) I think because I aim to satisfy people that enjoy fast videos that I stand apart from many of the other tutorial people. I'm very happy that you enjoy them. Yes, I have over 500 videos on my UA-cam channel. Some of the old ones are terrible, but I do my best to always improve.
Basically you need to create a use case description that goes over everything in exact detail. Then break everything into objects. Students, admins, email, everything becomes an object if it is an object in the real world. Then translate the use case description into a sequence diagram. You have the objects and the interactions, so you just have to connect them. My object oriented design tutorial shows you everything step by step. Tell me if you have questions after watching the 1st 2
The best explanation ever.. Your articulation of voice is amazing and gives more meaning to your words.
Only few people know to talk like this, especially on dry subjects like requirement engineering, process modeling, diagrams etc.
Thank you for the nice compliment :)
All architects work differently. I personally use sequence diagrams that are heavily commented. I also write very detailed usage descriptions. I make class diagrams, but I don't dwell on them. In the real world I do all of this stuff with paper and pencil. In groups I always work on a whiteboard
thank you :) I didn't know if anyone would like these tutorials, but it is hard to teach oo design and refactoring without uml
This greatly increases my understanding of UML. It brings to life the definitions I see in books.
Thank you :) I'm very happy it helped
1.)@ 2:10: semantical error: encapsulation is not information hiding. encapsulation is the concept of encapsulating attributes and methods, which are logically dependent, i.e. the methods operate on the attributes.
www.javaworld.com/article/2075271/core-
java/encapsulation-is-not-information-hiding.html
2.)protected elements are also accessible to classes in the same package
I have no words to describe how you change my life with your videos!
Thank you for all your tutorials..I'm not English-Speaker but your explanations are so clear that i understand quickly!
The system is all the objects combined. Break everything down into their smallest parts. If it is an object in the real world then make it an object in your use case. Watch my examples and you'll get it. I provide both fast and slow examples
I just want to thank you for this tutorial service you provide. Currently taking an online community college course with no lectures provided and a very bland textbook; this is helping me immensely!
That's great :) I'm happy that I could help
I'm sorry, but I just started Android tutorials. I'm having a hard time finding the time to get those out quickly. I promise to cover Obj C as soon as possible. May God bless you as well :)
With both an Aggregation and a Composition, a class (I'll call it Dog) contains another class object (One is Bark and the other is FavoriteFood).
With an Aggregation, since FavoriteFood could be used by other potential Animal objects (Non Dog Objects) then if the Dog object is destroyed FavoriteFood could continue to exist.
With a Composition, Bark couldn't exist or would have no meaning without the Dog object (Assuming that no other Animals bark) Does that help?
You are correct. I'm sorry if I didn't make that clear. I think I got a bit tongue tied and I went back and revisited association arrows to correct any misunderstanding in the next few tutorials. Thanks for pointing that out :)
I remember going through your java tutorials over 10-15 years ago as a teen... now I'm a plumber who makes video games at a high level in their spare time lol
On occasion I make typos. I'm glad you liked the video regardless :)
Thank you :) - is private, # is protected, + is public
Thank you :) I do my best to put as much information into each video as possible.
Hello Derek
I am taking course On object oriented design from Alberta university (from Canada ) and there is some points are different
1- association is just when object is a parameter to method in other object class and in uml is just line (not doted line as in video)
2- aggregation is different a way from composition in code that aggregation is when u have something like array of the object of other class (and this array may have objects or may null) but in composition the object u use from other class need to be used every time u use this object (that can happen when u declare that object in yr constructor )
Thanks for the input. Yes I messed up the dotted line by accident
@@derekbanas I appreciate so much your reply after 7 years from creating your video
I learnt a lot from yr channel
thanks a lot
Thank you :) I love talking with everyone
I'm glad you found it useful. You're very welcome :)
Thank you :) I do my best to make everything understandable. I have one more video on the syntax of UML and then I'll get into using them in real world applications
You're a better teacher than my Object Oriented Development lecturer in uni. Thanks a million!
You're very welcome :) Thank you for taking the time to tell me the videos have helped
It will be so kind of you if you initiate it not too late. As I am into objective c now a days just a beginner. Right now following lectures from stanford university on youtube but I am sure I will understand much more if you will deliver your lectures. May the CREATOR of all mankind bless your service.
at 14:00 the generalisation (inheritance) arrow goes in the wrong direction.
Peter Kelley Sorry about that error
Great video, literally got me going for a project at work, but your soothing voice almost put me asleep here at work too!
Thank you :) Sorry for making you tired
You put me in a total stupor with your Dog and Breen diagram. Composition relationship is drawn with a solid diamond. Just put an annotation at that point and yup, hammered down, everything will be fine. Other than that, good job!
Diagram at 14:30 says that Animal extends Dog
I believe that you wanted to put it diffeently.
And some slide before you put abstract class Animal below Dog.
It was correct notation, but I believe it's more readable if abstracts are above inherited classes
14:06 The arrow is facing the wrong way :)
With interfaces, the arrow is from Animal to Dog (which is wrong), whilst it with Inheritance at 11:23 the arrow is from Dog to Animal (which is right).
(Took me 30 mins to figure out, but hey...)
Aggregation:
Bee--------Swarm
A Bee CAN exist without a Swarm
Composition:
Swarm-----------◀▶ Bee
A Swarm CAN'T exist without any Bee
Hi Derek, I just wanted to thank you! I have really been struggling with some of the concepts of OOAD and your videos are really helping. Thanks
I made a little error there. Sorry about that. Yes you should definitely make videos. There are a ton of requests I get that I just don't have time to cover.
Sorry about that error. I have all the Umlet files available for download on this page newthinktank. com/videos/uml-video-tutorial/
Sorry I made a little error.
At 14:53 the arrow between abstract class and inheritance class points to the wrong direction or am I wrong?
No you are right, it seems like it's the opposite ( it's wrong )
I'll have to take a look. Thanks for pointing that out
Спасибо. Я делаю лучшее, что я могу. Я рад, что вам нравится видео.
Thank you :) It is very nice of you to say that
Don't know if anybody said this already but I think you've got the arrow pointing the other way around on 14:02
Really enjoying your tutorials, btw. Planning on making my own once I feel prepared enough.
Thank you very much for the nice message :) Ill cover obj c and iDevice programming after I cover android. I'll cover it with the same detail I did with java
Your video has cleared much of the concepts I was fearing of. However I anticipate that would be a great service from you and help if you upload objective c programming tutorials. I love your voice pitch and clarity you use to simplify things. If possible plz bring your lectures in detail about OBJECTIVE C programming step by step.
Thank you :) You are correct it is omitting it normally means that it doesn't matter
Iam brazilian and I've been enjoying all of your tutorials. I hope I learn how to programm as soon
Silvio da silva Thank you :) Hello Brazil!
Taught me more in this video than the lecturer taught me in 1 year
Turkish Gamer I'm glad I could help :)
never studied this lesson before and my exams are in 2- days...already watched 3 videos and from full stress mode I went to zero stress mode
That's great :) Best of luck on your exam
thank you mate!! :)
howd it go?
You actually have aggregation and composition mis-matched. From what I was thought composition has a solid diamond while aggregation doesn't this is a very strange example because it's using both. If you're trying to demonstrate both I think in theory it breaks the composition definition. And the composition is more opinionated. But if the whole dog is destroyed the part breed isn't... What are you getting at here? Kind of bad confusing example. Ambiguity error please use the scope resolution operator :: lol
What are you getting at here? In composition the life cycle of the part class is dependant on the whole class. He is right about the diamonds as well. The part breed is destroyed if it is composition but not if it is aggregation. I like not this comment.
Actually, you're wrong and Kristopher is right.
Thank you :) I edit the videos with iMovie
Thank you :) Im using UmLet
You are just awesome to listen to and learn from. You have a good skill and thank you sir for sharing your knowledge. Kudos to you! Final exam tomorrow *fingers not even crossed, just ready*
+777Jimihendrix Thank you for the compliment :) Best of luck on your exam!
I seem to understand more from your video than my 4 hour-lecture class on Java.
+Randy Mam I'm happy that I could help :)
fantastic classes. man you are gifted to teach. congrats. one advice, put the number of lecture in the title. I`m just going back and forth to see which one is the next lecture. other than that.. man I wish I had you as my teacher.
Thank you for the nice compliment :) I'll see what I can do about the titles
You're welcome :)
The presentation software I use is called keynote
THANK YOU SO MUCH FOR MAKING ME PASS MY EXAMS SIR. C++, C, java, diagram, i love you so much. keep up with the good work! :D
You're very welcome :)
Thank you very much :) Ill see if I can post the whole file so you can open it and output in any format tomorrow
The composite arrow should be filled and the one with aggregation should be left unfilled. Good clip tough!!!
Would have been more helpful if you just used an example to tie all these concepts together.
I misspoke. Sorry about that
I'm sure someone has said this, but the inheritance arrow on abstract classes is backwards from when you introduced them.
Also, why no cheat sheet for this one? I'm printing them all out for my cube but was sad not to find one for class diagrams...
Excellent tutorials by the way. Excellent.
great video! i pretty much took all the notes and took me more than 1 hrs to go through them :)
You're very welcome :) I show on this picture what most of the arrows mean. newthinktank. com/wp-content/uploads/2012/12/UML-Domain-Model. png
I hope that helps clear anything up
Derek... you absolute legend... I salute you sir!
I'm sure u get this alot from people, but you are just simply the best. Do you have videos on other languages too.? just incase i might need them in future. Thanks again. your videos are great .:-)
Great Vids on the UML series making great use of them. In the first 5secs of this vid you sound like Joe Swanson off family guy.
That's funny :) I'm glad you found them useful.
@14:00 The arrow should be in reverse. Dog should point to Animal. At work in the first week I made over and over this mistake to point a base class to a inherited one when software concepts were presented (this is natural human thinking) this is why mistakes appear. Finally I was able to correct that thinking as upper class derives the base class.
Sorry about the typo
Great Videos!! Very Helpful and well structured.
But, next time you make a playlist, could you number the videos (it helps to find the following video if you are watching it outside the playlist)??
Thanks for all your efforts!!!
Hello Derek, this is one good example of abstraction. 1) using java class codereview.stackexchange.com/questions/83387/building-data-abstraction-for-line-segments-using-type-abstraction
2) using python function objects
codereview.stackexchange.com/questions/83626/building-data-abstraction-and-adt-for-rectangle-using-objects
Hi Derek,
It seems a typo.
The arrow should point from class Dog to abstract class Animal. Also it should be a dashed arrow.
Best regards and thanks.
I love your videos and contents ! I am currently going through UML stuffs. I thought if you could make a video on when to use each of these diagrams and how it is useful that would be great !!! Thanks and appreciate all your work :)
Thank you very much.. During watching the video I had a feeling like if there was a simple example with c++ or other programming languages it would be much clearer.
I'm glad I could help :) Maybe I can do that in my future C++ tutorial
Thanks to you.. :) The effort you have given is well spend for sure.. :D
Really handy video for getting my head around these concepts, thanks!
Great video man! I'm a CS major and you've really helped me grasp these concepts!
+Jamie Jackson Thank you :) I'm glad I could help
I've used this kind of diagrams on C# before, still haven't used any on Java, but I would guess they are similar.
My questions is: are class diagrams the only build in (or added with plugin) kind of UML diagrams in the popular programming languages like Java, C# etc.
And where are the other type of diagrams (like the others in this playlist) usually used?
I would guess software architects and "plan makers" in non-IT jobs as well. And also one can do it for himself, with a paper and pencil
Sorry, but I don't have them
Joe Swanson is on duty to serve :)
You sir, are the real MVP...
+Mo Gaucho Thank you :) I appreciate that
Thank you very much :) I do my best
Love the video it is helping me complete an assignment as we speak. Do you have a video that uses a class diagram and goes to the code that would really be helpful!!!
Zachary Harris Thank you :) Check out my object oriented design tutorial for that ua-cam.com/video/fJW65Wo7IHI/v-deo.html
In my tutorial JAVA VIDEO TUTORIAL 53 I show you how to rotate polygons which include every shape :) I hope that helps
I notice that around 14:43 you mentioned that dog is a subclass of animal and having an arrow head pointing at Dog class. Now when you mentioned at 11:29 that a subclass name Dog is created from the animal superclass and having the arrowhead pointing to the Animal superclass. Other than that I will give a like. Cool stuff !!
Abstraction is nothing but creating barrier between representation of data and usage of data.