hugDog
Android DevLog
hugDog
전체 방문자
였늘
μ–΄μ œ
  • πŸ™Œ Hello? (162)
    • πŸ§©μ•ˆλ“œλ‘œμ΄λ“œ (12)
      • κ°œλ… 정리 (5)
      • 버그 ν•΄κ²° (4)
      • 기타 (3)
    • πŸ”μ•Œκ³ λ¦¬μ¦˜ (54)
      • κ°œλ… (0)
      • λ°±μ€€ (48)
      • ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ (6)
    • πŸ“„κ°œλ°œ 일지 (0)
      • FINPO (0)
    • πŸ”€ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄ (71)
      • C++ 정리 (49)
      • C++κΈ°μ΄ˆν”ŒλŸ¬μŠ€ μ—°μŠ΅λ¬Έμ œ (20)
      • Kotlin (2)
    • ⭐Project (1)
    • 🚴TIL (13)
      • Clean Code (13)
    • πŸš©κΈ°νƒ€ (9)
      • λͺ©ν‘œ (6)
      • 일상 (3)
      • λ¬Έμ„œ (0)

인기 κΈ€

졜근 λŒ“κΈ€

졜근 κΈ€

ν‹°μŠ€ν† λ¦¬

hELLO Β· Designed By μ •μƒμš°.
hugDog

Android DevLog

[Android] λ””μžμΈ νŒ¨ν„΄(μ°Έκ³  링크 λͺ¨μŒ)
πŸ§©μ•ˆλ“œλ‘œμ΄λ“œ/κ°œλ… 정리

[Android] λ””μžμΈ νŒ¨ν„΄(μ°Έκ³  링크 λͺ¨μŒ)

2022. 1. 24. 19:54
728x90

ν”„λ‘œμ νŠΈμ— MVVMνŒ¨ν„΄μ„ μ μš©ν•˜κ³  μžˆμœΌλ‚˜ μ •ν™•ν•œ κ°œλ…μ΄ μˆ™μ§€λ˜μ§€ μ•Šμ•„ 정리해보렀 ν•œλ‹€.

μš°μ„  λ””μžμΈ νŒ¨ν„΄ -> MVC -> MVP -> MVVM μˆœμ„œλ‘œ κ³΅λΆ€ν•˜κ² λ‹€.

 

λ””μžμΈ νŒ¨ν„΄μ΄λž€?

좜처: μœ„ν‚€

 

μ‰½κ²Œ λ§ν•˜λ©΄ λ””μžμΈ νŒ¨ν„΄ = κ²€μ¦λœ μ†Œν”„νŠΈμ›¨μ–΄ 개발 섀계 방법인 것 κ°™λ‹€.

 

μ•ˆλ“œλ‘œμ΄λ“œ 앱을 섀계할 λ•Œ λ””μžμΈ νŒ¨ν„΄μ„ 적용

이미 κ²€μ¦λœ νŒ¨ν„΄μ΄λ―€λ‘œ λ¬Έμ œκ°€ λ°œμƒν•  일이 적닀.

μ •ν˜•ν™”λœ νŒ¨ν„΄μ΄λ―€λ‘œ 개발자 κ°„μ˜ μ˜μ‚¬μ†Œν†΅μ΄ μˆ˜μ›”ν•΄μ§„λ‹€.

더 μœ μ—°ν•˜κ³  쒋은 μ½”λ“œλ₯Ό μ‚¬μš©ν•  수 μžˆλ‹€.

 

λ””μžμΈ νŒ¨ν„΄μ€ 크게 3μ’…λ₯˜λ‘œ λ‚˜λ‰œλ‹€.

생성 νŒ¨ν„΄

ꡬ쑰 νŒ¨ν„΄

ν–‰μœ„ νŒ¨ν„΄

 

생성 νŒ¨ν„΄

1. 좔상 νŒ©ν† λ¦¬

μΈν„°νŽ˜μ΄μŠ€λ₯Ό ν™œμš©ν•˜λŠ” νŒ¨ν„΄

 

https://sup2is.github.io/2020/06/22/abstract-factory-pattern.html

 

Sup2's blog-좔상 νŒ©ν† λ¦¬(Abstract Factory) νŒ¨ν„΄ Feat.Java

 

sup2is.github.io

 

2. λΉŒλ” νŒ¨ν„΄

μ‘°λ¦½ν•˜λ©΄μ„œ 객체 생성

https://4z7l.github.io/2021/01/19/design_pattern_builder.html

 

[Design Pattern] GoF 생성 νŒ¨ν„΄ - λΉŒλ” νŒ¨ν„΄(Builder Pattern) - HERSTORY

λΉŒλ” νŒ¨ν„΄(Builder Pattern) GoF λ””μžμΈ νŒ¨ν„΄ 쀑 생성 νŒ¨ν„΄μ— ν•΄λ‹Ήν•œλ‹€. λΉŒλ” νŒ¨ν„΄μ€ λ³΅μž‘ν•œ 객체λ₯Ό μƒμ„±ν•˜λŠ” ν΄λž˜μŠ€μ™€ ν‘œν˜„ν•˜λŠ” 클래슀λ₯Ό λΆ„λ¦¬ν•˜μ—¬, λ™μΌν•œ μ ˆμ°¨μ—μ„œλ„ μ„œλ‘œ λ‹€λ₯Έ ν‘œν˜„μ„ μƒμ„±ν•˜λŠ” λ°©

4z7l.github.io

 

3. μ˜μ‘΄μ„± μ£Όμž…

μ™ΈλΆ€λ‘œλΆ€ν„° 객체λ₯Ό λ°›μ•„μ„œ μ‚¬μš©

https://velog.io/@wlsdud2194/what-is-di

 

[DI] Dependency Injectionμ΄λž€ λ¬΄μ—‡μΌκΉŒ?

Dependency Injection, μ˜μ‘΄μ„± μ£Όμž…μ΄ 무엇이고 μ–΄λ–€ 이점이 μžˆλŠ”μ§€ μ˜ˆμ‹œλ₯Ό 톡해 μ •λ¦¬ν•œ κΈ€μž…λ‹ˆλ‹€.

velog.io

 

4. νŒ©ν† λ¦¬ λ©”μ„œλ“œ νŒ¨ν„΄

객체λ₯Ό μƒμ„±ν•˜κΈ° μœ„ν•œ μΈν„°νŽ˜μ΄μŠ€λ₯Ό λ§Œλ“€κ³  객체 생성은 ν•˜μœ„ ν΄λž˜μŠ€μ—μ„œ μˆ˜ν–‰

https://velog.io/@jamieshin/%ED%8C%A9%ED%86%A0%EB%A6%AC-%EB%A9%94%EC%86%8C%EB%93%9C-%ED%8C%A8%ED%84%B4Factory-Method-Pattern

 

νŒ©ν† λ¦¬ λ©”μ†Œλ“œ νŒ¨ν„΄ (Factory Method Pattern)

νŒ©ν† λ¦¬ λ©”μ†Œλ“œ νŒ¨ν„΄(Factory Method Pattern)은 객체λ₯Ό μƒμ„±ν•˜κΈ° μœ„ν•΄ μΈν„°νŽ˜μ΄μŠ€λ₯Ό λ§Œλ“­λ‹ˆλ‹€. μ–΄λ–€ 클래슀의 μΈμŠ€ν„΄μŠ€λ₯Ό λ§Œλ“€μ§€λ₯Ό μ„œλΈŒν΄λž˜μŠ€μ—μ„œ κ²°μ •ν•˜λ„λ‘ ν•©λ‹ˆλ‹€. νŒ©ν† λ¦¬ λ©”μ†Œλ“œλ₯Ό μ΄μš©ν•˜λ©΄ 인

velog.io

 

5. μ§€μ—°λœ μ΄ˆκΈ°ν™”

λΉ„μš©μ΄ 많이 λ“œλŠ” 과정을 처음 ν•„μš”ν•œ μ‹œμ κΉŒμ§€ μ§€μ—°μ‹œν‚€λŠ” 기법

 

6. ν”„λ‘œν† νƒ€μž…

λ‹€μˆ˜μ˜ λ™μΌν•œ 객체 μ‚¬μš©

https://yeah.tistory.com/17

 

[λ””μžμΈ νŒ¨ν„΄μ˜ 정석] μƒμ„±νŒ¨ν„΄ - ν”„λ‘œν†  νƒ€μž… νŒ¨ν„΄ (Prototype)

개발자 yeah의 Developer Story - λ””μžμΈ νŒ¨ν„΄ μ˜€λŠ˜μ€ μ €λ²ˆ ν¬μŠ€νŒ…μ— μ΄μ–΄μ„œ ν”„λ‘œν†  νƒ€μž… νŒ¨ν„΄ μ„ 이야기해보렀 ν•©λ‹ˆλ‹€. λ¨Όμ € ν”„λ‘œν†  νƒ€μž… νŒ¨ν„΄ μ„€λͺ…에 μ•žμ„œ 객체 μƒμ„±μ— λŒ€ν•΄ κ°„λ‹¨νžˆ μ„€λͺ…ν•˜λ„λ‘

yeah.tistory.com

 

7. μ‹±κΈ€ν„΄ νŒ¨ν„΄

μƒμ„±μžκ°€ μ—¬λŸ¬ μ°¨λ‘€ ν˜ΈμΆœλ˜λ”λΌλ„ μ‹€μ œλ‘œ μƒμ„±λ˜λŠ” κ°μ²΄λŠ” ν•˜λ‚˜μ΄κ³  졜초 생성 이후에 호좜된 μƒμ„±μžλŠ” 졜초의 μƒμ„±μžκ°€ μƒμ„±ν•œ 객체λ₯Ό 리턴

https://lktprogrammer.tistory.com/187

 

[Android Studio] μ•ˆλ“œλ‘œμ΄λ“œ μŠ€νŠœλ””μ˜€ - 싱글톀 νŒ¨ν„΄ (SingleTon Pattenr) 클래슀 μžλ™ 생성

λ””μžμΈ νŒ¨ν„΄(Design Pattern) 쀑 싱글톀(Singleton) νŒ¨ν„΄μ€ νŠΉμ • ν΄λž˜μŠ€μ— λŒ€ν•œ μΈμŠ€ν„΄μŠ€λ₯Ό 단 ν•œ 번만 Static λ©”λͺ¨λ¦¬ μ˜μ—­μ— ν• λ‹Ήν•˜κ³  ν•΄λ‹Ή ν΄λž˜μŠ€μ— λŒ€ν•œ μƒμ„±μžλ₯Ό μ—¬λŸ¬ 번 ν˜ΈμΆœν•˜λ”λΌλ„ μ΅œμ΄ˆμ— μƒμ„±λœ

lktprogrammer.tistory.com

 

ꡬ쑰 νŒ¨ν„΄

1. μ–΄λŒ‘ν„°

클래슀의 μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ‚¬μš©μžκ°€ κΈ°λŒ€ν•˜λŠ” λ‹€λ₯Έ μΈν„°νŽ˜μ΄μŠ€λ‘œ λ³€ν™˜

https://jusungpark.tistory.com/22

 

λ””μžμΈνŒ¨ν„΄ - μ–΄λŒ‘ν„° νŒ¨ν„΄ (adapter pattern)

μ–΄λŒ‘ν„° νŒ¨ν„΄ (adapter pattern) ν•œ 클래슀의 μΈν„°νŽ˜μ΄μŠ€λ₯Ό ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ μ‚¬μš©ν•˜κ³ μžν•˜λŠ” λ‹€λ₯Έ μΈν„°νŽ˜μ΄μŠ€λ‘œ λ³€ν™˜ν•œλ‹€. μ–΄λŒ‘ν„°λ₯Ό μ΄μš©ν•˜λ©΄ μΈν„°νŽ˜μ΄μŠ€ ν˜Έν™˜μ„± 문제 λ•Œλ¬Έμ— 같이 μ“Έ 수 μ—†λŠ” 클래슀

jusungpark.tistory.com

 

2. λΈŒλ¦¬μ§€

κΈ°λŠ₯κ³Ό κ΅¬ν˜„μ— λŒ€ν•΄ 두 개의 클래슀λ₯Ό λ§Œλ“¦

https://lktprogrammer.tistory.com/35

 

07 λΈŒλ¦Ώμ§€ νŒ¨ν„΄ (Bridge Pattern)

λΈŒλ¦Ώμ§€ νŒ¨ν„΄ (Bridge Pattern) κ΅¬ν˜„λΆ€μ—μ„œ 좔상측을 λΆ„λ¦¬ν•˜μ—¬ 각자 λ…λ¦½μ μœΌλ‘œ λ³€ν˜•μ΄ κ°€λŠ₯ν•˜κ³  ν™•μž₯이 κ°€λŠ₯ν•˜λ„λ‘ ν•©λ‹ˆλ‹€. 즉 κΈ°λŠ₯κ³Ό κ΅¬ν˜„μ— λŒ€ν•΄μ„œ 두 개λ₯Ό λ³„λ„μ˜ 클래슀둜 κ΅¬ν˜„μ„ ν•©λ‹ˆλ‹€. β–  브

lktprogrammer.tistory.com

 

3. μ»΄ν¬μ§€νŠΈ νŒ¨ν„΄

볡합적인 객체와 단일 객체λ₯Ό λ™μΌν•˜κ²Œ λ‹€λ£° 수 있게 함

https://gmlwjd9405.github.io/2018/08/10/composite-pattern.html

 

[Design Pattern] μ»΄νΌμ§€νŠΈ νŒ¨ν„΄μ΄λž€ - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

 

4. λ°μ½”λ ˆμ΄ν„° νŒ¨ν„΄

객체에 μ—¬λŸ¬ κΈ°λŠ₯을 κ²°ν•©ν•˜μ—¬ μ‚¬μš©

https://gmlwjd9405.github.io/2018/07/09/decorator-pattern.html

 

[Design Pattern] λ°μ½”λ ˆμ΄ν„° νŒ¨ν„΄μ΄λž€ - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

 

5. νΌμ‚¬λ“œ νŒ¨ν„΄

ν†΅ν•©λœ μΈν„°νŽ˜μ΄μŠ€ 제곡

https://jusungpark.tistory.com/23

 

λ””μžμΈνŒ¨ν„΄ - νΌμ‚¬λ“œ νŒ¨ν„΄ (facade pattern)

νΌμ‚¬λ“œνŒ¨ν„΄ (facade pattern) μ–΄λ–€ μ„œλΈŒμ‹œμŠ€ν…œμ˜ 일련의 μΈν„°νŽ˜μ΄μŠ€μ— λŒ€ν•œ ν†΅ν•©λœ μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ œκ³΅ν•œλ‹€. νΌμ‚¬λ“œμ—μ„œ κ³ μˆ˜μ€€ μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ •μ˜ν•˜κΈ° λ•Œλ¬Έμ— μ„œλΈŒμ‹œμŠ€ν…œμ„ 더 μ‰½κ²Œ μ‚¬μš©ν• μˆ˜ μžˆλ‹€.

jusungpark.tistory.com

 

6. ν”ŒλΌμ΄μ›¨μ΄νŠΈ νŒ¨ν„΄

ν•˜λ‚˜μ˜ μΈμŠ€ν„΄μŠ€λ‘œ μ—¬λŸ¬ 개의 가상 μΈμŠ€ν„΄μŠ€ 생성

https://lee1535.tistory.com/106

 

[λ””μžμΈνŒ¨ν„΄/Design Pattern] Flyweight Pattern / ν”ŒλΌμ΄μ›¨μ΄νŠΈ νŒ¨ν„΄

κ΄€λ ¨ λ‚΄μš©μ€ [μžλ°” μ–Έμ–΄λ‘œ λ°°μš°λŠ” λ””μžμΈ νŒ¨ν„΄ μž…λ¬Έ] , [Head First Design Pattern] 의 λ‚΄μš©μ„ μ°Έκ³ ν•΄μ„œ μ •λ¦¬ν•œ κΈ€μž…λ‹ˆλ‹€. 잘λͺ»λœ 뢀뢄은 λŒ“κΈ€λ‘œ ν”Όλ“œλ°± λΆ€νƒλ“œλ¦½λ‹ˆλ‹€. 1. Flyweight νŒ¨ν„΄μ΄λž€? μ–΄λ–€ 클래슀

lee1535.tistory.com

 

7. ν”„λ‘μ‹œ νŒ¨ν„΄

ν•΄λ‹Ή 객체λ₯Ό λŒ€μ‹ (proxy)ν•˜λŠ” 객체λ₯Ό 톡해 λŒ€μƒ 객체에 μ ‘κ·Όν•˜λŠ” 방식

https://coding-factory.tistory.com/711

 

[Design Pattern] ν”„λ‘μ‹œ νŒ¨ν„΄(Proxy Pattern)에 λŒ€ν•˜μ—¬

ν”„λ‘μ‹œ νŒ¨ν„΄μ΄λž€? ν”„λ‘μ‹œλŠ” λŒ€λ¦¬μΈμ΄λΌλŠ” 뜻으둜, 무엇인가λ₯Ό λŒ€μ‹  μ²˜λ¦¬ν•˜λŠ” μ˜λ―Έμž…λ‹ˆλ‹€. μΌμ’…μ˜ λΉ„μ„œλΌκ³  μƒκ°ν•˜μ‹œλ©΄ λ©λ‹ˆλ‹€. 사μž₯λ‹˜ν•œν…Œ μ‚¬μ†Œν•œ μ§ˆλ¬Έμ„ ν•˜κΈ°λ³΄λ‹€λŠ” λΉ„μ„œν•œν…Œ λ¨Όμ € λ¬Όμ–΄λ³΄λŠ”

coding-factory.tistory.com

 

행동 νŒ¨ν„΄

1. μ±…μž„ 연쇄

객체λ₯Ό μ‚¬μŠ¬ λ°©μ‹μœΌλ‘œ μ—°κ²°, μš”μ²­μ„ μˆ˜ν–‰ν•˜μ§€ λͺ»ν•˜λŠ” 객체인 경우 λ‹€μŒ 객체둜 λ„˜κΉ€

https://k0102575.github.io/articles/2020-02/chain-of-responsibility-pattern

 

μ±…μž„ 연쇄 νŒ¨ν„΄(chain-of-responsibility pattern)

μ—°μ‡„μ±…μž„νŒ¨ν„΄ (Chain-of-responsibility pattern)

k0102575.github.io

 

2. μ»€λ§¨λ“œ νŒ¨ν„΄

μ‹€ν–‰λœ κΈ°λŠ₯을 μΊ‘μŠν™”ν•˜μ—¬ μ£Όμ–΄μ§„ μ—¬λŸ¬ κΈ°λŠ₯을 μˆ˜ν–‰ν•  수 μžˆλŠ” μž¬μ‚¬μš©μ„±μ΄ 높은 클래슀둜 섀계

https://gmlwjd9405.github.io/2018/07/07/command-pattern.html

 

[Design Pattern] μ»€λ§¨λ“œ νŒ¨ν„΄μ΄λž€ - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

 

3. 인터프리터 νŒ¨ν„΄

문법 κ·œμΉ™μ„ ν΄λž˜μŠ€ν™”ν•œ ꡬ쑰

https://always-intern.tistory.com/11

 

[λ””μžμΈ νŒ¨ν„΄] 인터프리터 νŒ¨ν„΄(Interpreter Pattern)

1) κ°œμš” 문법 κ·œμΉ™μ„ ν΄λž˜μŠ€ν™” ν•œ ꡬ쑰둜, 일련의 κ·œμΉ™μœΌλ‘œ μ •μ˜λœ 문법적 μ–Έμ–΄λ₯Ό ν•΄μ„ν•˜λŠ” νŒ¨ν„΄μž…λ‹ˆλ‹€.(SQL, SHELL...) 인터프리터 νŒ¨ν„΄μ€ SQLκ³Ό 같은 계측적 μ–Έμ–΄λ₯Ό ν•΄μ„ν•˜κΈ° μœ„ν•΄ 계측 ꡬ쑰λ₯Ό ν‘œν˜„

always-intern.tistory.com

 

4. 반볡자 νŒ¨ν„΄

μ ‘κ·Ό κΈ°λŠ₯κ³Ό 자료ꡬ쑰λ₯Ό λΆ„λ¦¬μ‹œμΌœμ„œ 객체화

https://lktprogrammer.tistory.com/40

 

08 반볡자 νŒ¨ν„΄ (Iterator Pattern)

반볡자 νŒ¨ν„΄ (Iterator Pattern) μ ‘κ·ΌκΈ°λŠ₯κ³Ό 자료ꡬ쑰λ₯Ό λΆ„λ¦¬μ‹œμΌœμ„œ κ°μ²΄ν™”ν•©λ‹ˆλ‹€. μ„œλ‘œ λ‹€λ₯Έ ꡬ쑰λ₯Ό κ°€μ§€κ³  μžˆλŠ” μ €μž₯ 객체에 λŒ€ν•΄μ„œ μ ‘κ·Όν•˜κΈ° μœ„ν•΄μ„œ interfaceλ₯Ό ν†΅μΌμ‹œν‚€κ³  싢을 λ•Œ μ‚¬μš©ν•˜λŠ” νŒ¨ν„΄

lktprogrammer.tistory.com

 

5. μ€‘μž¬μž νŒ¨ν„΄

λͺ¨λ“  클래슀 κ°„μ˜ λ³΅μž‘ν•œ 둜직(μƒν˜Έμž‘μš©)을 μΊ‘μŠν™”ν•˜μ—¬ ν•˜λ‚˜μ˜ ν΄λž˜μŠ€μ— μœ„μž„ν•˜μ—¬ μ²˜λ¦¬ν•˜λŠ” νŒ¨ν„΄μ΄λ‹€.

https://www.crocus.co.kr/1542

 

μ€‘μž¬μž νŒ¨ν„΄(Mediator Pattern)

μ€‘μž¬μž νŒ¨ν„΄(Mediator Pattern) λͺ¨λ“  ν΄λž˜μŠ€κ°„μ˜ λ³΅μž‘ν•œ 둜직(μƒν˜Έμž‘μš©)을 μΊ‘μŠν™”ν•˜μ—¬ ν•˜λ‚˜μ˜ ν΄λž˜μŠ€μ— μœ„μž„ν•˜μ—¬ μ²˜λ¦¬ν•˜λŠ” νŒ¨ν„΄μ΄λ‹€. 즉, M:N의 κ΄€κ³„μ—μ„œ M:1의 κ΄€κ³„λ‘œ λ³΅μž‘λ„λ₯Ό λ–¨μ–΄λœ¨λ € μœ μ§€ 보수

www.crocus.co.kr

 

6. λ©”λ©˜ν†  νŒ¨ν„΄

객체λ₯Ό 이전 μƒνƒœλ‘œ 되돌릴 수 μžˆλŠ” κΈ°λŠ₯을 μ œκ³΅ν•˜λŠ” μ†Œν”„νŠΈμ›¨μ–΄ λ””μžμΈ νŒ¨ν„΄μ΄λ‹€. (둀백을 ν†΅ν•œ μ‹€ν–‰ μ·¨μ†Œ)

https://lktprogrammer.tistory.com/65

 

14 λ©”λ©˜ν†  νŒ¨ν„΄ (Memento Pattern)

λ©”λ©˜ν†  νŒ¨ν„΄ (Memento Pattern) λ©”λ©˜ν†  νŒ¨ν„΄μ€ 객체의 μƒνƒœ 정보λ₯Ό μ €μž₯ν•˜κ³  μ‚¬μš©μžμ˜ ν•„μš”μ— μ˜ν•˜μ—¬ μ›ν•˜λŠ” μ‹œμ μ˜ 데이터λ₯Ό 볡원 ν•  수 μžˆλŠ” νŒ¨ν„΄μ„ μ˜λ―Έν•©λ‹ˆλ‹€. β– λ©”λ©˜ν†  νŒ¨ν„΄ 예제 ꡬ쑰 β–Ά μ‹€μ œ

lktprogrammer.tistory.com

 

7. μ˜΅μ„œλ²„ νŒ¨ν„΄

μ˜΅μ„œλ²„λ“€μ˜ λͺ©λ‘μ„ 객체에 λ“±λ‘ν•˜μ—¬ μƒνƒœ λ³€ν™”κ°€ μžˆμ„ λ•Œλ§ˆλ‹€ λ©”μ„œλ“œ 등을 톡해 객체가 직접 λͺ©λ‘μ˜ 각 μ˜΅μ„œλ²„μ—κ²Œ ν†΅μ§€ν•˜λ„λ‘ ν•˜λŠ” λ””μžμΈ νŒ¨ν„΄

https://pjh3749.tistory.com/266

 

[λ””μžμΈνŒ¨ν„΄] μ˜΅μ €λ²„ νŒ¨ν„΄ (Observer Pattern) μ•„μ£Ό κ°„λ‹¨ν•˜κ²Œ 정리해보기

μ˜΅μ €λ²„ νŒ¨ν„΄μ΄λž€? μ˜΅μ €λ²„λž€ μŠ€νƒ€ν¬λž˜ν”„νŠΈ ν”„λ‘œν† μŠ€μ˜ μœ λ‹›μœΌλ‘œ 적듀을 κ΄€μ°°ν•˜κΈ° μœ„ν•΄ νƒ„μƒν•œ μœ λ‹›μ΄λ‹€. ν…Œλž€μ „μ—μ„œ ν•„μˆ˜ μœ λ‹›μ΄λ©° μ˜΅μ €λ²„ νŒ¨ν„΄(observer pattern)은 객체의 μƒνƒœ λ³€ν™”λ₯Ό κ΄€μ°°ν•˜λŠ” κ΄€

pjh3749.tistory.com

 

8. μƒνƒœ νŒ¨ν„΄

λ™μΌν•œ λ©”μ„œλ“œκ°€ μƒνƒœμ— λ”°λΌ λ‹€λ₯΄κ²Œ λ™μž‘ν•  λ•Œ μ‚¬μš©ν•  μˆ˜ μžˆλŠ” νŒ¨ν„΄

https://ko.wikipedia.org/wiki/%EC%83%81%ED%83%9C_%ED%8C%A8%ED%84%B4

 

μƒνƒœ νŒ¨ν„΄ - μœ„ν‚€λ°±κ³Ό, 우리 λͺ¨λ‘μ˜ 백과사전

 

ko.wikipedia.org

 

9. μ „λž΅ νŒ¨ν„΄

객체듀이 ν•  수 μžˆλŠ” ν–‰μœ„ 각각에 λŒ€ν•΄ μ „λž΅ 클래슀λ₯Ό μƒμ„±ν•˜κ³ , μœ μ‚¬ν•œ ν–‰μœ„λ“€μ„ μΊ‘μŠν™”ν•˜λŠ” μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ •μ˜ν•˜μ—¬,

객체의 ν–‰μœ„λ₯Ό λ™μ μœΌλ‘œ λ°”κΎΈκ³  싢은 κ²½μš° 직접 ν–‰μœ„λ₯Ό μˆ˜μ •ν•˜μ§€ μ•Šκ³  μ „λž΅μ„ λ°”κΏ”μ£ΌκΈ°λ§Œ ν•¨μœΌλ‘œμ¨ ν–‰μœ„λ₯Ό μœ μ—°ν•˜κ²Œ ν™•μž₯ν•˜λŠ” 방법

https://victorydntmd.tistory.com/292

 

[λ””μžμΈνŒ¨ν„΄] μ „λž΅ νŒ¨ν„΄ ( Strategy Pattern )

μ „λž΅ νŒ¨ν„΄ ( Strategy Pattern ) 객체듀이 ν•  수 μžˆλŠ” ν–‰μœ„ 각각에 λŒ€ν•΄ μ „λž΅ 클래슀λ₯Ό μƒμ„±ν•˜κ³ , μœ μ‚¬ν•œ ν–‰μœ„λ“€μ„ μΊ‘μŠν™” ν•˜λŠ” μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ •μ˜ν•˜μ—¬, 객체의 ν–‰μœ„λ₯Ό λ™μ μœΌλ‘œ λ°”κΎΈκ³  싢은 κ²½μš°

victorydntmd.tistory.com

 

10. ν…œν”Œλ¦Ώ λ©”μ„œλ“œ νŒ¨ν„΄

λ™μž‘ μƒμ˜ μ•Œκ³ λ¦¬μ¦˜μ˜ ν”„λ‘œκ·Έλž¨ λΌˆλŒ€λ₯Ό μ •μ˜ν•˜λŠ” ν–‰μœ„ λ””μžμΈ νŒ¨ν„΄

https://gmlwjd9405.github.io/2018/07/13/template-method-pattern.html

 

[Design Pattern] ν…œν”Œλ¦Ώ λ©”μ„œλ“œ νŒ¨ν„΄μ΄λž€ - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

 

11. λΉ„μ§€ν„° νŒ¨ν„΄

μ•Œκ³ λ¦¬μ¦˜μ„ 객체 κ΅¬μ‘°μ—μ„œ λΆ„λ¦¬μ‹œν‚€λŠ” λ””μžμΈ νŒ¨ν„΄

https://dailyheumsi.tistory.com/216

 

[α„ƒα…΅α„Œα…‘α„‹α…΅α†« ᄑᅒᄐα…₯ᆫ 15편] 행동 νŒ¨ν„΄, 방문자 (Visitor)

1. κ°œλ… λΉ„μ§€ν„° νŒ¨ν„΄μ€ λ°©λ¬Έμžμ™€ λ°©λ¬Έ 곡간을 λΆ„λ¦¬ν•˜μ—¬, λ°©λ¬Έ 곡간이 방문자λ₯Ό λ§žμ΄ν•  λ•Œ, 이후에 λŒ€ν•œ 행동을 λ°©λ¬Έμžμ—κ²Œ μœ„μž„ν•˜λŠ” νŒ¨ν„΄μ΄λ‹€. κ°„λ‹¨ν•˜κ²Œ μ„€λͺ…ν•˜κΈ° μ°Έ μ–΄λ €μš΄ νŒ¨ν„΄μ΄λ‹€. 보톡 OOP에

dailyheumsi.tistory.com

 

 

 

... 뭐가 μ΄λ ‡κ²Œ λ§Žμ€ κ±°μ•Ό...

ν•˜λ‚˜ν•˜λ‚˜ κ³΅λΆ€ν•˜λ©΄μ„œ 정볡할 생각에 λ„ˆλ¬΄ λ“€λœ¬λ‹€..γ…Žγ…Ž

MVC, MVP, MVVM κ°œλ… 읡히고 생성 νŒ¨ν„΄, ꡬ쑰 νŒ¨ν„΄, ν–‰μœ„ νŒ¨ν„΄ ν•™μŠ΅ν•΄μ•Όκ² λ‹€.

728x90
μ €μž‘μžν‘œμ‹œ λΉ„μ˜λ¦¬ (μƒˆμ°½μ—΄λ¦Ό)
    'πŸ§©μ•ˆλ“œλ‘œμ΄λ“œ/κ°œλ… 정리' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
    • [Android/Kotlin] MVVM νŒ¨ν„΄, AAC
    • [Android/Kotlin] MVP νŒ¨ν„΄
    • [Android/Kotlin] MVC νŒ¨ν„΄
    • Android Context(μ»¨ν…μŠ€νŠΈ)
    hugDog
    hugDog
    μ•ˆλ“œλ‘œμ΄λ“œ 곡뢀 쀑인 ν•™μƒμž…λ‹ˆλ‹€!

    ν‹°μŠ€ν† λ¦¬νˆ΄λ°”