Skip to content

๐Ÿงช Swift๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•„ํ‚คํ…์ณ ํŒจํ„ด๊ณผ ๋””์ž์ธ ํŒจํ„ด์˜ ์˜ˆ์ œ๋ฅผ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๐Ÿงช

License

Notifications You must be signed in to change notification settings

jjunhaa0211/ADPattern-Swift

Repository files navigation

ADPattern-Swift

Hits

ADPattern = Architecture Pattern, Design Pattern


๋ชจ๋ฅด๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ์ƒํ™ฉ์— ๋งž๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.
์ด์ œ๋Š” ์•ฑ์„ ์ž‘๋™๋งŒ ์‹œํ‚ค๋Š” ๋‹จ์ˆœํ•œ ๊ฐœ๋ฐœ์ž๊ฐ€ ์•„๋‹Œ ๊พธ์ค€ํ•œ ์œ ์ง€๋ณด์ˆ˜๋ฅผ ํ•˜๊ณ  ํ˜‘์—…์— ๊ฐ€๋…์„ฑ์„ ๋†’์ด๋Š”
๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค! 

์ œ๊ฐ€ ์•„์ง์€ ์ดˆ๋ณด์ž์ด๊ธฐ ๋•Œ๋ฌธ์— ๋‚ด์šฉ์ •๋ฆฌ ๋ฐ ์ฝ”๋“œ์— ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉด ์–ธ์ œ๋‚˜ ์ด์Šˆ ๋‚ ๋ ค์ฃผ์‹œ๋ฉด ๋ฐ”๋กœ ๊ณ ์น˜๊ฒ ์Šต๋‹ˆ๋‹ค!! ๐Ÿ˜…

์ด ๋ ˆํฌ๊ฐ€ ์„œ๋กœ ์„ฑ์žฅํ•˜๋Š” ๊ณ„๊ธฐ๊ฐ€ ๋˜์—ˆ์œผ๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค..!! ๐Ÿ‘Š

๋ชฉ์ฐจ


GoF Design Pattern





  • ์ฑ•ํ„ฐ IIII: GoF ํ–‰์œ„ ํŒจํ„ด
    ์ˆœ์„œ ์ œ๋ชฉ ๋‚ด์šฉ ์˜ˆ์ œ ์ฝ”๋“œ
    1 - Interpreter -
    2 - Template Method -
    3 - Chain of Responsibility -
    4 - Command -
    5 - Iterator -
    6 - Mediator -
    7 - Observer -
    8 - State -
    9 - Strategy -
    10 - Visitor -

KVO Cocoa ํ”„๋ ˆ์ž„์›Œํฌ


  • ์ฑ•ํ„ฐ I: KVO
    ์ˆœ์„œ ์ œ๋ชฉ ๋‚ด์šฉ ์˜ˆ์ œ ์ฝ”๋“œ
    1 KVO๋ž€? KVO ์—†์Œ

MVC Design Pattern


  • ์ฑ•ํ„ฐ I: MVC ๋””์ž์ธ ํŒจํ„ด
    ์ˆœ์„œ ์ œ๋ชฉ ๋‚ด์šฉ ์˜ˆ์ œ ์ฝ”๋“œ
    1 MVC๋ž€? MVC Pattern์ด๋ž€? ์—†์Œ

MVVM Design Pattern



MVP Design Pattern



TCA Design Pattern


  • ์ฑ•ํ„ฐ I: TCA ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด
    ์ˆœ์„œ ์ œ๋ชฉ ๋‚ด์šฉ ์˜ˆ์ œ ์ฝ”๋“œ
    1 TCA TCA๋ž€?

Flux Design Pattern

  • ์ฑ•ํ„ฐ I: Flux ๋””์ž์ธ ํŒจํ„ด
    ์ˆœ์„œ ์ œ๋ชฉ ๋‚ด์šฉ ์˜ˆ์ œ ์ฝ”๋“œ
    1 Flux๋ž€? Flux๋ž€? ์ด๋ก 

Redux Design Pattern


  • ์ฑ•ํ„ฐ I: Redux ๋””์ž์ธ ํŒจํ„ด
    ์ˆœ์„œ ์ œ๋ชฉ ๋‚ด์šฉ ์˜ˆ์ œ ์ฝ”๋“œ
    1 Redux๋ž€? ์ด๋ก 

VIPER Design Pattern



RIBs Design Pattern


  • ์ฑ•ํ„ฐ I: RIBs ๋””์ž์ธ ํŒจํ„ด
    ์ˆœ์„œ ์ œ๋ชฉ ๋‚ด์šฉ ์˜ˆ์ œ ์ฝ”๋“œ
    1 RIBs RIBs๋ž€? RIBs๋ž€?
    2 RIBs ๊ณต์‹ ๋ฌธ์„œ ์ •๋ฆฌ RIBs ๊ณต์‹ ๋ฌธ์„œ
    2 RIBs ๋กœ๊ทธ์ธ ์ฝ”๋“œ ์˜ˆ์ œ ์‹ค์ „ ์ ์šฉ

ReactorKit


  • ์ฑ•ํ„ฐ I: ReactorKit ํ”„๋ ˆ์ž„์›Œํฌ
    ์ˆœ์„œ ์ œ๋ชฉ ๋‚ด์šฉ ์˜ˆ์ œ ์ฝ”๋“œ
    1 ReactorKit ReactorKit๋ž€?

Coordinator Pattern



Clean Architecture



  • ์ฑ•ํ„ฐ II: ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„
    ์ˆœ์„œ ์ œ๋ชฉ ๋‚ด์šฉ
    1 ํŒจ๋Ÿฌ๋‹ค์ž„ ๊ฐœ์š” ํŒจ๋Ÿฌ๋‹ค์ž„ ๊ฐœ์š”
    2 ๊ตฌ์กฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ
    3 ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
    4 ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ

  • ์ฑ•ํ„ฐ III: ์„ค๊ณ„ ์›์น™
    ์ˆœ์„œ ์ œ๋ชฉ ๋‚ด์šฉ
    1 SRP: ๋‹จ์ผ ์ฑ…์ž„ ์›์น™ SRP๋ž€?
    2 OCP: ๊ฐœ๋ฐฉ ํ์‡„ ์›์น™ OCP๋ž€?
    3 LSP: ๋ฆฌ์Šค์ฝ”ํ”„ ์น˜ํ™˜ ์›์น™ LSP๋ž€?
    3.1 ์ƒ์†์— ๋Œ€ํ•ด์„œ ์ƒ์†์— ๋Œ€ํ•ด์„œ
    4 ISP: ์ธํ„ฐํŽ˜์ด์Šค ๋ถ„๋ฆฌ ์›์น™ ISP๋ž€?
    5 DIP: ์˜์กด์„ฑ ์—ญ์ „ ์›์น™ DIP๋ž€?

  • ์ฑ•ํ„ฐ V: ์•„ํ‚คํ…์ฒ˜
    ์ˆœ์„œ ์ œ๋ชฉ ๋‚ด์šฉ
    1 ์•„ํ‚คํ…์ฒ˜๋ž€?
    2 ๋…๋ฆฝ์„ฑ
    3 ๊ฒฝ๊ณ„
    4 ๊ฒฝ๊ณ„ ํ•ด๋ถ€ํ•™
    5 ์ •์ฑ…๊ณผ ์ˆ˜์ค€
    6 ์—…๋ฌด ์›์น™
    7 ์†Œ๋ฆฌ์น˜๋Š” ์•„ํ‚คํ…์ฒ˜
    8 ํด๋ฆฐ ์•„ํ‚คํ…์ฒ˜
    9 ํ”„๋ ˆ์  ํ„ฐ์™€ ํ—˜๋ธ” ๊ฐ์ฒด
    10 ๋ถ€๋ถ„์  ์„ค๊ณ„
    11 ๊ณ„์ธต๊ณผ ๊ฒฝ๊ณ„
    12 ๋ฉ”์ธ ์ปดํฌ๋„ŒํŠธ
    13 ํฌ๊ณ  ์ž‘์€ ๋ชจ๋“  ์„œ๋น„์Šค๋“ค
    14 ํ…Œ์ŠคํŠธ ๊ฒฝ๊ณ„
    15 ํด๋ฆฐ ์ž„๋ฒ ๋””๋“œ ์•„ํ‚คํ…์ฒ˜

About

๐Ÿงช Swift๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•„ํ‚คํ…์ณ ํŒจํ„ด๊ณผ ๋””์ž์ธ ํŒจํ„ด์˜ ์˜ˆ์ œ๋ฅผ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๐Ÿงช

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published