/Design-Pattern-In-Swift

πŸŽƒ λ””μžμΈνŒ¨ν„΄μ„ Swift κ΄€μ μ—μ„œ 이해해보기 (With GoF의 λ””μžμΈνŒ¨ν„΄) πŸŽƒ

Frame 28

πŸ“šμ°Έκ³ μ„œμ  : GoF의 λ””μžμΈ νŒ¨ν„΄

μ™œ λ””μžμΈνŒ¨ν„΄μ„ κ³΅λΆ€ν•˜λ‚˜μš”?

ν”„λ‘œμ νŠΈμ—μ„œ 반볡적으둜 λ°œμƒν•˜λŠ” λ‹€μ–‘ν•œ 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ μ‚¬μš©λœ 방법을 ꡬ쑰화 μ‹œν‚¨κ²ƒμ΄ λ””μžμΈ νŒ¨ν„΄μž…λ‹ˆλ‹€.
λ””μžμΈ νŒ¨ν„΄μ„ 톡해 μž¬μ‚¬μš©μ΄ κ°€λŠ₯ν•œ 섀계에 λŒ€ν•΄ μ•Œμ•„ λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.
μ΄λŸ¬ν•œ λ””μžμΈ νŒ¨ν„΄μ„ Swift κ΄€μ μ—μ„œ μ–΄λ–»κ²Œ λ…Ήμ—¬λ‚Ό 수 μžˆλŠ”μ§€μ— λŒ€ν•΄ κ³΅λΆ€ν•˜κ³  κΈ°λ‘ν•˜κΈ° μœ„ν•œ μžλ£Œμž…λ‹ˆλ‹€.

여기에 λ‚˜μ˜€λŠ” λͺ¨λ“  원칙을 λ°˜λ“œμ‹œ μ§€μΌœμ•Όν•œλ‹€! 무쑰건 이게 μ΅œκ³ λ‹€! λΌλŠ” 관점 λ³΄λ‹€λŠ”,
μ–΄λ–»κ²Œ ν•˜λ©΄ 잘λͺ»λœ μ½”λ“œλ₯Ό κ΅¬λΆ„ν•˜κ³  - μ–΄λ–»κ²Œ ν•˜λ©΄ 더 μœ μ§€λ³΄μˆ˜ν•˜κΈ° μ‰¬μš΄ ν”„λ‘œκ·Έλž¨μ„ 섀계할 수 μžˆλŠ”μ§€ 관점에 λŒ€ν•΄ μ•Œμ•„λ³΄λ €κ³  ν•©λ‹ˆλ‹€!
λ˜ν•œ, ν˜„μž¬ μ‚¬μš©ν•˜κ³  μžˆλŠ” μ½”λ“œλ₯Ό μ–΄λ–€μ‹μœΌλ‘œ κ°œμ„ ν•  수 μžˆμ„μ§€ μœ„μ£Όλ‘œ 곡뢀해보렀고 ν•©λ‹ˆλ‹€.


1. SOLID 원칙을 Swift에 μ μš©ν•΄λ³΄κΈ°

Frame 1 μ΄λ™ν•˜κΈ°

2. λ””μžμΈ νŒ¨ν„΄μ˜ μ„œλ‘ 

Frame 29 μ΄λ™ν•˜κΈ°

3. λ””μžμΈ νŒ¨ν„΄μ„ 톡해 문제λ₯Ό ν•΄κ²°ν•˜λŠ” 방법

Frame 38 μ΄λ™ν•˜κΈ°

4. μ‹±κΈ€ν„΄ νŒ¨ν„΄ (Singleton Pattern)

Frame 69 μ΄λ™ν•˜κΈ°

5. νŒ©ν† λ¦¬ νŒ¨ν„΄ (Factory Pattern)

Frame 93 μ΄λ™ν•˜κΈ°

6. μ–΄λŒ‘ν„° νŒ¨ν„΄ (Adapter Pattern)

λ””μžμΈνŒ¨ν„΄5 1 μ΄λ™ν•˜κΈ°

7. μ „λž΅ νŒ¨ν„΄ (Strategy Pattern)

λ””μžμΈνŒ¨ν„΄7 0 μ΄λ™ν•˜κΈ°

8. λΉŒλ” νŒ¨ν„΄ (Builder Pattern)

λ””μžμΈνŒ¨ν„΄8 0 μ΄λ™ν•˜κΈ°