mirror of
https://github.com/ByteByteGoHq/system-design-101.git
synced 2026-04-01 16:57:23 -04:00
This PR adds all the guides from [Visual Guides](https://bytebytego.com/guides/) section on bytebytego to the repository with proper links. - [x] Markdown files for guides and categories are placed inside `data/guides` and `data/categories` - [x] Guide links in readme are auto-generated using `scripts/readme.ts`. Everytime you run the script `npm run update-readme`, it reads the categories and guides from the above mentioned folders, generate production links for guides and categories and populate the table of content in the readme. This ensures that any future guides and categories will automatically get added to the readme. - [x] Sorting inside the readme matches the actual category and guides sorting on production
49 lines
1.3 KiB
Markdown
49 lines
1.3 KiB
Markdown
---
|
|
title: "UML Class Diagrams Cheatsheet"
|
|
description: "A quick reference guide to UML class diagrams and their components."
|
|
image: "https://assets.bytebytego.com/diagrams/0399-a-cheatsheet-for-uml-class-diagrams.png"
|
|
createdAt: "2024-02-22"
|
|
draft: false
|
|
categories:
|
|
- software-architecture
|
|
tags:
|
|
- UML
|
|
- Design Patterns
|
|
---
|
|
|
|

|
|
|
|
UML is a standard way to visualize the design of your system and class diagrams are used across the industry.
|
|
|
|
They consist of:
|
|
|
|
* **Class**
|
|
|
|
Acts as the blueprint that defines the properties and behavior of an object.
|
|
|
|
* **Attributes**
|
|
|
|
Attributes in a UML class diagram represent the data fields of the class.
|
|
|
|
* **Methods**
|
|
|
|
Methods in a UML class diagram represent the behavior that a class can perform.
|
|
|
|
* **Interfaces**
|
|
|
|
Defines a contract for classes that implement it. Includes a set of methods that the implementing classes must provide.
|
|
|
|
* **Enumeration**
|
|
|
|
A special data type that defines a set of named values such as product category or months in a year.
|
|
|
|
* **Relationships**
|
|
|
|
Determines how one class is related to another. Some common relationships are as follows:
|
|
|
|
* Association
|
|
* Aggregation
|
|
* Composition
|
|
* Inheritance
|
|
* Implementation
|