Skip to content

RbertKo/design-pattern

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

36 Commits
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Design Pattern

GoF์˜ ๋””์ž์ธ ํŒจํ„ด์„ ๋ฒ ์ด์Šค๋กœ ์ง„ํ–‰ํ–ˆ์œผ๋ฉฐ, ์ฑ•ํ„ฐ 1๊ณผ ์ฑ•ํ„ฐ 2๋ฅผ ๋’ค ์ˆœ์„œ์—, ์ฑ•ํ„ฐ 3๋ถ€ํ„ฐ ๋“ค์–ด๊ฐ„๋‹ค.

Trello

Usage

Reference Book

GoF Design Pattern

Language

RUST

Chapter

1. ์„œ๋ก 

  1. ๋””์ž์ธ ํŒจํ„ด์ด๋ž€
  2. ์Šค๋ชฐํ† ํฌ MVC๋ฅผ ์‚ฌ์šฉํ•œ ๋””์ž์ธ ํŒจํ„ด
  3. ๋””์ž์ธ ํŒจํ„ด ๊ธฐ์ˆ ํ•˜๊ธฐ
  4. ๋””์ž์ธ ํŒจํ„ด ์นดํƒˆ๋กœ๊ทธ
  5. ์นดํƒˆ๋กœ๊ทธ ์กฐ์งํ™”ํ•˜๊ธฐ
  6. ๋””์ž์ธ ํŒจํ„ด์„ ์ด์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ๋ฐฉ๋ฒ•
  7. ๋””์ž์ธ ํŒจํ„ด์„ ๊ณ ๋ฅด๋Š” ๋ฐฉ๋ฒ•
  8. ๋””์ž์ธ ํŒจํ„ด ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

2. ์‚ฌ๋ก€ ์—ฐ๊ตฌ: ๋ฌธ์„œ ํŽธ์ง‘๊ธฐ ์„ค๊ณ„

  1. ์„ค๊ณ„ ๋ฌธ์ œ๋“ค
  2. ๋ฌธ์„œ ๊ตฌ์กฐ
  3. ์„œ์‹ ์„ค์ •
  4. ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ์žฅ์‹ํ•˜๊ธฐ
  5. ๋‹ค์–‘ํ•œ ๋ฃฉ์•คํ•„ ํ‘œ์ค€ ์ง€์›
  6. ์‚ฌ์šฉ์ž ์กฐ์ž‘
  7. ์ฒ ์ž ๊ฒ€์‚ฌ ๋ฐ ๋ถ™์ž„ํ‘œ ์—ฐ๊ฒฐ
  8. ์š”์•ฝ

3. ์ƒ์„ฑ ํŒจํ„ด

  1. ์ถ”์ƒ ํŒฉํ† ๋ฆฌ (Abstract Factory)
  2. ๋นŒ๋” (Builder)
  3. ํŒฉํ† ๋ฆฌ ๋ฉ”์„œ๋“œ (Factory Method)
  4. ์›ํ˜• (Prototype)
  5. ๋‹จ์ผ์ฒด (Singleton)
  6. ์ƒ์„ฑ ํŒจํ„ด์— ๋Œ€ํ•œ ๋…ผ์˜

4. ๊ตฌ์กฐ ํŒจํ„ด

  1. ์ ์‘์ž (Adapter)
  2. ๊ฐ€๊ต (Bridge)
  3. ๋ณตํ•ฉ์ฒด (Composite)
  4. ์žฅ์‹์ž (Decorator)
  5. ํผ์‚ฌ๋“œ (Facade)
  6. ํ”Œ๋ผ์ด๊ธ‰ (Flyweight)
  7. ํ”„๋ก์‹œ (Proxy)
  8. ๊ตฌ์กฐ ํŒจํ„ด์— ๋Œ€ํ•œ ๋…ผ์˜

5. ํ–‰๋™ ํŒจํ„ด

  1. ์ฑ…์ž„ ์—ฐ์‡„ (Chain of Responsibility)
  2. ๋ช…๋ น (Command)
  3. ํ•ด์„์ž (Interpreter)
  4. ๋ฐ˜๋ณต์ž (Iterator)
  5. ์ค‘์žฌ์ž (Mediator)
  6. ๋ฉ”๋ฉ˜ํ†  (Memento)
  7. ๊ฐ์‹œ์ž (Observer)
  8. ์ƒํƒœ (State)
  9. ์ „๋žต (Strategy)
  10. ํ…œํ”Œ๋ฆฟ ๋ฉ”์„œ๋“œ (Template Method)
  11. ๋ฐฉ๋ฌธ์ž (Visitor)
  12. ํ–‰๋™ ํŒจํ„ด์— ๋Œ€ํ•œ ๋…ผ์˜

6. ๊ฒฐ๋ก 

  1. ๋””์ž์ธ ํŒจํ„ด์—์„œ ๋ฌด์—‡์„ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€?
  2. ๊ฐ„๋žตํ•œ ์—ญ์‚ฌ
  3. ํŒจํ„ด ์ปค๋ฎค๋‹ˆํ‹ฐ
  4. ์ดˆ๋Œ€์˜ ๊ธ€
  5. ์ฑ…์„ ๋งˆ๋ฌด๋ฆฌํ•˜๋ฉฐ

Appendix A : ์šฉ์–ด ์ •๋ฆฌ

Appendix B : ํ‘œ๊ธฐ๋ฒ• ๊ฐ€์ด๋“œ

Appendix C : ์˜ˆ์ œ ์ฝ”๋“œ์— ์‚ฌ์šฉ๋œ ๊ธฐ๋ณธ ํด๋ž˜์Šค

About

study design pattern using Rust Lang

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages