λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

λ°˜μ‘ν˜•

iOS/Design Pattern

(4)
Design Pattern) κ΅¬μ‘°νŒ¨ν„΄ #1 - Bridge Pattern κ΅¬μ‘°νŒ¨ν„΄μ΄λž€ ? ν΄λž˜μŠ€λ‚˜ 객체λ₯Ό μ‘°ν•©ν•΄ 더 큰 ꡬ쑰λ₯Ό λ§Œλ“œλŠ” νŒ¨ν„΄ 예λ₯Ό λ“€μ–΄ μ„œλ‘œ λ‹€λ₯Έ μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ§€λ‹Œ 2개의 객체λ₯Ό λ¬Άμ–΄ 단일 μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ œκ³΅ν•˜κ±°λ‚˜ 객체듀을 μ„œλ‘œ λ¬Άμ–΄ μƒˆλ‘œμš΄ κΈ°λŠ₯을 μ œκ³΅ν•˜λŠ” νŒ¨ν„΄ ! κ΅¬μ‘°νŒ¨ν„΄ νŠΉμ§• ! - μ„œλ‘œ λ…λ¦½μ μœΌλ‘œ κ°œλ°œν•œ 클래슀 라이브러리λ₯Ό 마치 ν•˜λ‚˜μΈ κ²ƒμ²˜λŸΌ μ‚¬μš©ν•  수 μžˆλ‹€. - μ—¬λŸ¬ μΈν„°νŽ˜μ΄μŠ€λ₯Ό ν•©μ„±ν•˜μ—¬ μ„œλ‘œ λ‹€λ₯Έ μΈν„°νŽ˜μ΄μŠ€λ“€μ˜ ν†΅μΌλœ 좔상을 μ œκ³΅ν•œλ‹€. - μΈν„°νŽ˜μ΄μŠ€λ‚˜ κ΅¬ν˜„μ„ λ³΅ν•©ν•˜λŠ” 것이 μ•„λ‹ˆλΌ 객체λ₯Ό ν•©μ„±ν•˜λŠ” 방법을 μ œκ³΅ν•œλ‹€. κ΅¬μ‘°νŒ¨ν„΄ μ’…λ₯˜ Bridge Decorator Facade Flyweight Proxy Composite Adaptor μ˜€λŠ˜μ€ μœ„μ˜ 7κ°€μ§€ μ€‘μ—μ„œ Bridge νŒ¨ν„΄μ— λŒ€ν•΄ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€ ! Bridge Pattern λΈŒλ¦Ώμ§€ νŒ¨ν„΄μ€ κ΅¬ν˜„λΆ€μ—μ„œ 좔상측..
Design Pattern ) λ””μžμΈνŒ¨ν„΄ κ°œμš” 2편 λ””μžμΈ νŒ¨ν„΄ κ°œμš” 2νŽΈμ„ μ“°κ²Œ 된 μ΄μœ λŠ” λ””μžμΈ νŒ¨ν„΄μ— λŒ€ν•œ ν¬μŠ€νŒ…μ„ λͺ‡ 개 보닀가 μ •λ¦¬ν•˜κ³  싢은 λ‚΄μš©μ„ λ°œκ²¬ν–ˆκΈ° λ•Œλ¬Έ ! γ…Ž [Design-Pattern-In-Swift] 3. λ””μžμΈ νŒ¨ν„΄μ„ 톡해 문제λ₯Ό ν•΄κ²°ν•˜λŠ” 방법 이번 3μž₯은 GoF의 λ””μžμΈ νŒ¨ν„΄ 1.6μž₯ ~ 1.8μž₯을 μž¬κ΅¬μ„±ν•œ λ‚΄μš©μž…λ‹ˆλ‹€! 이제 μ„œλ‘ μ€ 3μž₯μ—μ„œ λ§ˆλ¬΄λ¦¬ν•˜κ³  - λ‹€μŒμž₯λΆ€ν„°λŠ” μ‹€μ§ˆμ μœΌλ‘œ λ””μžμΈνŒ¨ν„΄μ„ μ–΄λ–»κ²Œ Swift에 적용 ν•  수 μžˆλŠ”μ§€μ— λŒ€ν•΄ 닀뀄보렀 i-colours-u.tistory.com 이 글을 λ°”νƒ•μœΌλ‘œ μ •λ¦¬ν•œ λ‚΄μš©μž…λ‹ˆλ‹€. λ””μžμΈνŒ¨ν„΄ 쀑 μƒμ„±νŒ¨ν„΄ λ¨Όμ € κ³΅λΆ€ν•˜κΈ° μœ„ν•΄ μ°Ύμ•„λ³΄λ‹€λ³΄λ‹ˆ ν΄λž˜μŠ€μ™€ 객체λ₯Ό λ§Œλ“œλŠ” κ³Όμ •μ„μΊ‘μŠν™”ν•œλ‹€. μ΄λŸ°μ‹μœΌλ‘œ 많이 μ–˜κΈ°λ₯Ό ν•˜λ”λΌκ΅¬μš” κ·Έλž˜μ„œ 클래슀, 객체, μΊ‘μŠν™” 이런 κ°œλ…λ“€μ„ 짚고 λ„˜μ–΄κ°€μ’Œ .. 고런 λŠλ‚Œμž…..
Design Pattern) μƒμ„±νŒ¨ν„΄ #1 - νŒ©ν† λ¦¬ νŒ¨ν„΄ λ””μžμΈνŒ¨ν„΄ 쀑 μƒμ„±νŒ¨ν„΄μ΄λž€ 객체의 생성과정에 μ°Έμ—¬ν•˜λŠ” 것. 객체가 μΈμŠ€ν„΄μŠ€ν™” λ˜λŠ” 과정을 μΆ”μƒν™”ν•©λ‹ˆλ‹€. 객체가 ꡬ성, μƒμ„±λ˜κ³  ν‘œν˜„λ˜λŠ” 방식에 관계없이 μ‹œμŠ€ν…œμ„ λ…λ¦½μ μœΌλ‘œ λ§Œλ“œλŠ”λ° 도움이 λ©λ‹ˆλ‹€ ! λ²”μœ„λ‘œ λΆ„λ₯˜ν•΄λ³΄μžλ©΄, νŒ¨ν„΄μ„ 주둜 ν΄λž˜μŠ€μ— μ μš©ν•˜λŠ”μ§€ 객체에 μ μš©ν•˜λŠ”μ§€ ꡬ뢄해볼 수 μžˆλ‹€. 클래슀 : 객체λ₯Ό μƒμ„±ν•˜λŠ” μ±…μž„μ˜ 일뢀λ₯Ό μ„œλΈŒ ν΄λž˜μŠ€κ°€ λ‹΄λ‹Ήν•˜λ„λ‘ λ„˜κΈ°λŠ” 것 => νŒ©ν† λ¦¬ λ©”μ„œλ“œ νŒ¨ν„΄ 객체 : 객체λ₯Ό μƒμ„±ν•˜λŠ” μ±…μž„μ˜ 일뢀λ₯Ό λ‹€λ₯Έ κ°μ²΄μ—κ²Œ μœ„μž„ν•˜λŠ” 것 => 좔상 νŒ©ν† λ¦¬, λΉŒλ”, ν”„λ‘œν† νƒ€μž…, 싱글톀 μ˜€λŠ˜μ€ 이 μ€‘μ—μ„œ νŒ©ν† λ¦¬ λ©”μ„œλ“œ νŒ¨ν„΄κ³Ό 좔상 νŒ©ν† λ¦¬ νŒ¨ν„΄μ— λŒ€ν•΄ λ‹€λ€„λ³΄κ² μŠ΅λ‹ˆλ‹€ ! 🏭 νŒ©ν† λ¦¬ νŒ¨ν„΄μ΄λž€ ? 객체 생성을 μ „λ‹΄ν•˜λŠ” struct/classλ₯Ό λ§Œλ“€μ–΄ ꡬ체적인 생성과정을 κ·Έ μ•ˆμ— κ΅¬ν˜„ν•˜λŠ” νŒ¨ν„΄ μ™œ 사..
Design Pattern ) λ””μžμΈ νŒ¨ν„΄ κ°œμš” μ•ˆλ…•ν•˜μ„Έμš” ! μ˜€λŠ˜μ€ λ””μžμΈνŒ¨ν„΄μ— λŒ€ν•΄μ„œ κ³΅λΆ€ν–ˆλ˜ λ‚΄μš©μ„ κΈ°λ‘ν•˜κ³ μž ν•©λ‹ˆλ‹€ :) λ™μ•„λ¦¬μ—μ„œ λ””μžμΈ νŒ¨ν„΄ μŠ€ν„°λ””λ₯Ό μ‹œμž‘ν•˜κΈ°λ„ ν–ˆκ³ , ν‰μ†Œμ— μ±… μ‚¬μ„œ κ³΅λΆ€ν•˜λŠ” 것을 μ’‹μ•„ν•΄μ„œ ν—€λ“œνΌμŠ€νŠΈ λ””μžμΈνŒ¨ν„΄ μ΄λΌλŠ” 책을 κ΅¬λ§€ν•˜κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€. 이 책을 λ°”νƒ•μœΌλ‘œ μ—¬λŸ¬ λ””μžμΈ νŒ¨ν„΄μ„ 정리해보고, 책에 λ‚˜μ™€μžˆλŠ” μ˜ˆμ‹œ μ½”λ“œλ₯Ό Swift둜 직접 바꿔보렀고 ν•©λ‹ˆλ‹€ ! μ˜€λŠ˜μ€ λ””μžμΈ νŒ¨ν„΄μ΄ λ­”μ§€, 그리고 μ™œ μ‚¬μš©ν•˜λŠ”μ§€, μ’…λ₯˜μ—λŠ” μ–΄λ–€ 것듀이 μžˆλŠ”μ§€ κ°„λ‹¨ν•˜κ²Œ μ°Ύμ•„λ³Έ λ‚΄μš©λ“€μ„ κΈ°λ‘ν•˜μ˜€μŠ΅λ‹ˆλ‹€. λ””μžμΈ νŒ¨ν„΄μ΄λž€ ? λ””μžμΈ νŒ¨ν„΄μ€ μ†Œν”„νŠΈμ›¨μ–΄ μ„€κ³„μ—μ„œ κ³΅ν†΅μœΌλ‘œ λ°œμƒν•˜λŠ” λ¬Έμ œμ— λŒ€ν•΄ 자주 μ“°μ΄λŠ” 섀계 방법을 μ •λ¦¬ν•œ νŒ¨ν„΄ ! μž…λ‹ˆλ‹€. λ¬Έμ œμƒν™©μ— λŒ€ν•œ μž¬μ‚¬μš© κ°€λŠ₯ν•œ ν•΄κ²°λ°©λ²•μœΌλ‘œμ¨, μΌμ’…μ˜ 아이디어라고생각할 수 μžˆμ„ κ±° κ°™μŠ΅λ‹ˆλ‹€ ! 즉, 저희가 μ†Œν”„..

λ°˜μ‘ν˜•