νλ‘μ νΈμ MVVMν¨ν΄μ μ μ©νκ³ μμΌλ μ νν κ°λ
μ΄ μμ§λμ§ μμ μ 리ν΄λ³΄λ € νλ€.
μ°μ λμμΈ ν¨ν΄ -> MVC -> MVP -> MVVM μμλ‘ κ³΅λΆνκ² λ€.
λμμΈ ν¨ν΄μ΄λ?
μ½κ² λ§νλ©΄ λμμΈ ν¨ν΄ = κ²μ¦λ μννΈμ¨μ΄ κ°λ° μ€κ³ λ°©λ²μΈ κ² κ°λ€.
μλλ‘μ΄λ μ±μ μ€κ³ν λ λμμΈ ν¨ν΄μ μ μ©
μ΄λ―Έ κ²μ¦λ ν¨ν΄μ΄λ―λ‘ λ¬Έμ κ° λ°μν μΌμ΄ μ λ€.
μ ννλ ν¨ν΄μ΄λ―λ‘ κ°λ°μ κ°μ μμ¬μν΅μ΄ μμν΄μ§λ€.
λ μ μ°νκ³ μ’μ μ½λλ₯Ό μ¬μ©ν μ μλ€.
λμμΈ ν¨ν΄μ ν¬κ² 3μ’
λ₯λ‘ λλλ€.
μμ± ν¨ν΄
ꡬ쑰 ν¨ν΄
νμ ν¨ν΄
μμ± ν¨ν΄
1. μΆμ ν©ν 리
μΈν°νμ΄μ€λ₯Ό νμ©νλ ν¨ν΄
https://sup2is.github.io/2020/06/22/abstract-factory-pattern.html
2. λΉλ ν¨ν΄
쑰립νλ©΄μ κ°μ²΄ μμ±
https://4z7l.github.io/2021/01/19/design_pattern_builder.html
3. μμ‘΄μ± μ£Όμ
μΈλΆλ‘λΆν° κ°μ²΄λ₯Ό λ°μμ μ¬μ©
https://velog.io/@wlsdud2194/what-is-di
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
5. μ§μ°λ μ΄κΈ°ν
λΉμ©μ΄ λ§μ΄ λλ κ³Όμ μ μ²μ νμν μμ κΉμ§ μ§μ°μν€λ κΈ°λ²
6. νλ‘ν νμ
λ€μμ λμΌν κ°μ²΄ μ¬μ©
https://yeah.tistory.com/17
7. μ±κΈν΄ ν¨ν΄
μμ±μκ° μ¬λ¬ μ°¨λ‘ νΈμΆλλλΌλ μ€μ λ‘ μμ±λλ κ°μ²΄λ νλμ΄κ³ μ΅μ΄ μμ± μ΄νμ νΈμΆλ μμ±μλ μ΅μ΄μ μμ±μκ° μμ±ν κ°μ²΄λ₯Ό 리ν΄
https://lktprogrammer.tistory.com/187
ꡬ쑰 ν¨ν΄
1. μ΄λν°
ν΄λμ€μ μΈν°νμ΄μ€λ₯Ό μ¬μ©μκ° κΈ°λνλ λ€λ₯Έ μΈν°νμ΄μ€λ‘ λ³ν
https://jusungpark.tistory.com/22
2. λΈλ¦¬μ§
κΈ°λ₯κ³Ό ꡬνμ λν΄ λ κ°μ ν΄λμ€λ₯Ό λ§λ¦
https://lktprogrammer.tistory.com/35
3. μ»΄ν¬μ§νΈ ν¨ν΄
볡ν©μ μΈ κ°μ²΄μ λ¨μΌ κ°μ²΄λ₯Ό λμΌνκ² λ€λ£° μ μκ² ν¨
https://gmlwjd9405.github.io/2018/08/10/composite-pattern.html
4. λ°μ½λ μ΄ν° ν¨ν΄
κ°μ²΄μ μ¬λ¬ κΈ°λ₯μ κ²°ν©νμ¬ μ¬μ©
https://gmlwjd9405.github.io/2018/07/09/decorator-pattern.html
5. νΌμ¬λ ν¨ν΄
ν΅ν©λ μΈν°νμ΄μ€ μ 곡
https://jusungpark.tistory.com/23
6. νλΌμ΄μ¨μ΄νΈ ν¨ν΄
νλμ μΈμ€ν΄μ€λ‘ μ¬λ¬ κ°μ κ°μ μΈμ€ν΄μ€ μμ±
https://lee1535.tistory.com/106
7. νλ‘μ ν¨ν΄
ν΄λΉ κ°μ²΄λ₯Ό λμ (proxy)νλ κ°μ²΄λ₯Ό ν΅ν΄ λμ κ°μ²΄μ μ κ·Όνλ λ°©μ
https://coding-factory.tistory.com/711
νλ ν¨ν΄
1. μ±
μ μ°μ
κ°μ²΄λ₯Ό μ¬μ¬ λ°©μμΌλ‘ μ°κ²°, μμ²μ μννμ§ λͺ»νλ κ°μ²΄μΈ κ²½μ° λ€μ κ°μ²΄λ‘ λκΉ
https://k0102575.github.io/articles/2020-02/chain-of-responsibility-pattern
2. 컀맨λ ν¨ν΄
μ€νλ κΈ°λ₯μ μΊ‘μννμ¬ μ£Όμ΄μ§ μ¬λ¬ κΈ°λ₯μ μνν μ μλ μ¬μ¬μ©μ±μ΄ λμ ν΄λμ€λ‘ μ€κ³
https://gmlwjd9405.github.io/2018/07/07/command-pattern.html
3. μΈν°νλ¦¬ν° ν¨ν΄
λ¬Έλ² κ·μΉμ ν΄λμ€νν ꡬ쑰
https://always-intern.tistory.com/11
4. λ°λ³΅μ ν¨ν΄
μ κ·Ό κΈ°λ₯κ³Ό μλ£κ΅¬μ‘°λ₯Ό λΆλ¦¬μμΌμ κ°μ²΄ν
https://lktprogrammer.tistory.com/40
5. μ€μ¬μ ν¨ν΄
λͺ¨λ ν΄λμ€ κ°μ 볡μ‘ν λ‘μ§(μνΈμμ©)μ μΊ‘μννμ¬ νλμ ν΄λμ€μ μμνμ¬ μ²λ¦¬νλ ν¨ν΄μ΄λ€.
https://www.crocus.co.kr/1542
6. λ©λ©ν ν¨ν΄
κ°μ²΄λ₯Ό μ΄μ μνλ‘ λλ릴 μ μλ κΈ°λ₯μ μ 곡νλ μννΈμ¨μ΄ λμμΈ ν¨ν΄μ΄λ€. (λ‘€λ°±μ ν΅ν μ€ν μ·¨μ)
https://lktprogrammer.tistory.com/65
7. μ΅μλ² ν¨ν΄
μ΅μλ²λ€μ λͺ©λ‘μ κ°μ²΄μ λ±λ‘νμ¬ μν λ³νκ° μμ λλ§λ€ λ©μλ λ±μ ν΅ν΄ κ°μ²΄κ° μ§μ λͺ©λ‘μ κ° μ΅μλ²μκ² ν΅μ§νλλ‘ νλ λμμΈ ν¨ν΄
https://pjh3749.tistory.com/266
8. μν ν¨ν΄
λμΌν λ©μλκ° μνμ λ°λΌ λ€λ₯΄κ² λμν λ μ¬μ©ν μ μλ ν¨ν΄
https://ko.wikipedia.org/wiki/%EC%83%81%ED%83%9C_%ED%8C%A8%ED%84%B4
9. μ λ΅ ν¨ν΄
κ°μ²΄λ€μ΄ ν μ μλ νμ κ°κ°μ λν΄ μ λ΅ ν΄λμ€λ₯Ό μμ±νκ³ , μ μ¬ν νμλ€μ μΊ‘μννλ μΈν°νμ΄μ€λ₯Ό μ μνμ¬,
κ°μ²΄μ νμλ₯Ό λμ μΌλ‘ λ°κΎΈκ³ μΆμ κ²½μ° μ§μ νμλ₯Ό μμ νμ§ μκ³ μ λ΅μ λ°κΏμ£ΌκΈ°λ§ ν¨μΌλ‘μ¨ νμλ₯Ό μ μ°νκ² νμ₯νλ λ°©λ²
https://victorydntmd.tistory.com/292
10. ν
νλ¦Ώ λ©μλ ν¨ν΄
λμ μμ μκ³ λ¦¬μ¦μ νλ‘κ·Έλ¨ λΌλλ₯Ό μ μνλ νμ λμμΈ ν¨ν΄
https://gmlwjd9405.github.io/2018/07/13/template-method-pattern.html
11. λΉμ§ν° ν¨ν΄
μκ³ λ¦¬μ¦μ κ°μ²΄ ꡬ쑰μμ λΆλ¦¬μν€λ λμμΈ ν¨ν΄
https://dailyheumsi.tistory.com/216
... λκ° μ΄λ κ² λ§μ κ±°μΌ...
νλνλ 곡λΆνλ©΄μ μ 볡ν μκ°μ λ무 λ€λ¬λ€..γ
γ
MVC, MVP, MVVM κ°λ
μ΅νκ³ μμ± ν¨ν΄, ꡬ쑰 ν¨ν΄, νμ ν¨ν΄ νμ΅ν΄μΌκ² λ€.