21 Comments
User's avatar
Marudhupandiyan's avatar

Crystal clear explanation bro thanks for sharing 💯💯

Expand full comment
Ashish Pratap Singh's avatar

thank you so much!

Expand full comment
Sumanth Kovuru's avatar

Awesome content 👏.. may I know which tool you have used to create these diagrams

Expand full comment
Ashish Pratap Singh's avatar

Hey, thank you!

I used Figma for this one.

Expand full comment
Rick Huang's avatar

Hi! I noticed you successfully created an aggregation connector (with the hollow diamond) in Figma. I only managed to find the solid diamond connector. Could you please share how you achieved this hollow diamond connector? Thanks a lot!

Expand full comment
Alex Pliutau's avatar

Great post and clear visuals. Do you also use things like Structurizr? https://packagemain.tech/p/software-architecture-diagrams-c4

Expand full comment
Ashish Pratap Singh's avatar

Hey, I used Figma for this one.

Expand full comment
Alex Pliutau's avatar

Got it. I use Miro mostly for diagrams/flows, they also have a UML template, but unfortunately it's not free.

Expand full comment
Ashish Pratap Singh's avatar

yeah, I have tried Miro but it's paid. Figma is free for most of my current use-cases.

Expand full comment
Krish's avatar

Splendid explanation.

Here is a Resources to draw such using easy templates for those who are seeking a tool just like me - https://creately.com/diagram-type/class-diagram

Expand full comment
Abhinandan Narang's avatar

Difference between association and dependency not cleared.

Expand full comment
priyanshu bansal's avatar

Hi don't you think Aggregation and Association are cross used in example

meaning for aggregation Car Class has Engine Class in attributes similarly in example Person has Phone but why you have used Association there ?

Expand full comment
George Mulbah's avatar

thank you so much for writing this blog

Expand full comment
George Mulbah's avatar

thank you so much for writing this blog

Expand full comment
Hitman's avatar

if Person has association with Phone, is the direction pointed is correct or did i got wrong understanding?

Expand full comment
Dushyant Gangwal's avatar

Person "uses-a" phone.

Is association arrow direction correct ? If, yes can you please explain?

Expand full comment
Vinay's avatar

I was looking for this comment. I think it should be other way around.

Expand full comment
Sathwik Reddy Madhula's avatar

Is the difference between abstraction and Interface is that abstraction can be used for code reuse but interface not?

Expand full comment
Sathwik Reddy Madhula's avatar

I am confused about when to use Association and when to use dependency? What is the difference?

Expand full comment
Vibhu Mishra's avatar

Thanks for the clear explation. Really appreciate!!!

One question, why does interface "Drawable" has "erase" as a private method ? Is it because after Java 9, interfaces can also have private methods ? I think UML should be language agnostic, isn't it ?

Expand full comment
Giuseppe Santoro 🚢's avatar

If you are looking for a Diagrams-as-Code approach where you use text to draw your diagram take a look at https://cloudnativeengineer.substack.com/p/enhancing-software-design-with-diagrams to learn more. The main benefits is that they are fast to draw and they can be version controlled next to your application or IaC code

Expand full comment