Skip to content

Everything we need to know about system design. Powered by ChatGPT4. >w<

Notifications You must be signed in to change notification settings

tracyqwerty/system_design_knowledge_sharing

Repository files navigation

System Design Knowledge Sharing

Everything we need to know about system design. Codes are mostly in C++.

Powered by ChatGPT4. >w<

DDIA

Unified Modeling Language (UML)

UML is a standardized modeling language that is used to visualize the design of a system. It is commonly used in software engineering.

Class Name(类名), Field(属性), Methods(方法)

image-20230518133000177

If something is Italic, it means that the thing is abstract, or is an interface. Also,

  • "+" means public
  • "-" means private
  • "#" means protected
  • no sign means default

image-20230518133455444

Relationships

image-20230518163948205

Association(关联)

image-20230519114658854

Dependency(依赖)

image-20230518164014634

Aggregation(聚合)

image-20230518164147028

Composition(组合)

A special aggregation relationship of strong dependence. If B does not exist, the part does not exist. For example, the company does not exist, and the department will also cease to exist;

image-20230518164336304

Realization(实现)

Inherit abstract class.

image-20230518164118923

Generalization(泛化)

Inherit non-abstract class.

image-20230518164217450

Design Patterns

visitor

observer

iterator

composite

adapter

command

decorator

strategy

singleton

test driven development(TDD)

factory

cohesion & coupling

How to handle real-life questions

https://www.educative.io/courses/grokking-modern-system-design-interview-for-engineers-managers/xVXol171Ex9

  • understand the design problem and its requirements(functional & nonfunctional ).
  • handle data (size, grow rate, usage, read/write heavy, consistency, privacy, etc)
  • components
  • tradeoffs

Resources

https://www.educative.io/courses/grokking-the-system-design-interview ( best for junior)

https://bestresources.co/resource/best-handpicked-system-design-interesting-reads-qvbimi

Reference

https://www.ibm.com/docs/en/rsar/9.5

https://zhuanlan.zhihu.com/p/109655171

https://design-patterns.readthedocs.io/zh_CN/latest/read_uml.html

About

Everything we need to know about system design. Powered by ChatGPT4. >w<

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published