*https://velog.io/@teo/MVI-Architecture*
πΒ *https://velog.io/@teo/νλ‘ νΈμλμμ-MV-μν€ν μ³λ-무μμΈκ°μ*
μ’μ μν€ν μ²μ λν΄ κ³ λ―Όνμ§ μκ³ κ°λ°μ νλ€λ³΄λ©΄,
νλ‘μ νΈ ν¬κΈ°κ° 컀μ§μλ‘ λλ²κΉ μ΄ νλ€μ΄μ§κ³ νμ₯μ±μ΄ λ¨μ΄μ§λ λ¬Έμ κ° μκΉ
HTML, CSS, JS
jQuery
MVC
MVVM
Container - Presenter
FLUX & Redux
Hooks & Context, Recoil, Zustand, Jotai
React Query, SWR, Redux Query
κ΄μ¬μ λΆλ¦¬μ λμ¨ν κ²°ν©
Ajax & DOM μ¬μ©μ μ©μ΄νκ²
HTML + JS λ¬Άμ΄μ 컨νΈλ‘€λ¬λ‘
μ μΈμ . λ°μ΄ν° λ°μΈλ©κ³Ό ν νλ¦Ώ
μ»΄ν¬λνΈ κ° λ³΅μ‘ν λ°μ΄ν° κ΅ν
Props Drilling
β λ무 볡μ‘ν¨
β κ²°κ΅ μλ² API κ΄λ¦¬νλ €κ³ μ¬μ©νλ κ²
HTML, CSS, JS
μΈ κ΅¬μ±μμκ° κ°μμ λ°©μλλ‘ μ±μ₯
HTMLμ μλ²κ° μμ±, JSλ κ°λ¨ν λμ, CSSλ νλ©΄ κ΄λ¦¬
jQuery
Ajax νμμΌλ‘ μλ²μμλ HTMLμ λ§λ€μ§ μκ³ λ°μ΄ν°λ§ κ΅νμ΄ κ°λ₯
JS μ΄μ©ν΄ DOM μ‘°μνλ μμ μ΄ μ€μν΄μ Έ jQuery λ±μ νμ©ν κ°λ° β¬οΈ
MVC
λ°μ΄ν°μ DOMμ μ‘°μνλ λ‘μ§μ νλλ‘ κ΄λ¦¬νλ €λ μμ§μ
νλ©΄ λ¨μκ° μλ μ»΄ν¬λνΈ λ¨μμ λ°μ μμ
MVVM
λ°μ΄ν° λ³κ²½ λλ§λ€ DOMμ μ‘°μν΄μΌ νλ λ°©μμ μλ²μμ νλ―μ΄ ν νλ¦Ώ λ°©μμΌλ‘
ν νλ¦Ώμ λ§λ€κ³ , λ°μ΄ν°λ₯Ό λ°μΈλ©νκ³ λ³κ²½μ κ°μ§ν΄ κ°λ°νλ μ λ΅
e.g.
React, Vue, Angular
Container - Presenter
μ»΄ν¬λνΈκ° λ°μ΄ν°λ₯Ό λ§μ΄ κ°μ§κ³ μκ³ λ‘μ§μ΄ ν©μ΄μ§κ² λλ©΄μ μ΄λ μ»΄ν¬λνΈλ€μ 볡μ‘νκ³ μ¬μ¬μ©μ±μ΄ λ¨μ΄μ§λ λ¬Έμ λ°μ
λ°μ΄ν°λ₯Ό λ°μμ 보μ¬μ£Όλ readonly Presenter μ»΄ν¬λνΈ
μ λ°μ΄ν° μ‘°μμ μ£Όλ‘ λ€λ£¨λ Container μ»΄ν¬λνΈ
λ₯Ό λΆλ¦¬
λ°μ΄ν°λ propsλ₯Ό ν΅ν΄ λ΄λ €μ£Όκ³ , λ‘μ§μ νκ΅°λ°μ λͺ¨μΌκ³ , viewλ μ¬μ¬μ©νλ ννμ μν€ν μ² λ±μ₯
FLUX & Redux
Props Drilling
μμμ propsλ€μ νμλ‘ μ λ¬, νμ μ΄λ²€νΈλ₯Ό μμλ‘ μ λ¬νλ κ³Όμ μμ μ€κ°μ λΆνμν propsλ€μ΄ λ§λ€μ΄μ§λ νμ
μ»΄ν¬λνΈ λ 립과 μ¬μ¬μ©μ μν΄ λΆλ¦¬νμ§λ§, μ€κ° μ»΄ν¬λνΈλ€λ‘ μΈν΄ μ€νλ € μμ-νμ μ»΄ν¬λνΈ κ²°ν©μ΄ λ λ¨λ¨ν΄μ§
β κ΅³μ΄ λΉμ¦λμ€ λ‘μ§μ μ»΄ν¬λνΈ κ³μΈ΅μΌλ‘ λ§λ€ νμκ° μλ€!
λ°μ΄ν° λ‘μ§μ λ³κ°λ‘ λκ³ Actionμ ν΅ν΄ λ°μ΄ν°λ₯Ό λ³κ²½νλ©΄ μ»΄ν¬λνΈλ μ΄ λ°μ΄ν°μ μ§μ μ°κ²°ν΄μ μ¬μ©νλ FLUX ν¨ν΄
β λΉμ¦λμ€ λ‘μ§μ μ»΄ν¬λνΈμμ λΆλ¦¬νκ³ λ³λλ‘ κ΄λ¦¬νλ λꡬλ€, μν κ΄λ¦¬
Hooks & Context, Recoil, Zustand, Jotai
νμ§λ§ Reduxμ λ무 λ§μ 보μΌλ¬ νλ μ΄νΈ, κ³Όν λ¬Έλ² μ²΄κ³κ° νμν΄ μ€μ κ·λͺ¨ νλ‘μ νΈμμλ μ€νλ € μ€λ²μμ§λμ΄λ§
React Hooks
λ κ°κ²°ν λ¬Έλ²μΌλ‘ μΈλΆ λΉμ¦λμ€ λ‘μ§ μ°λμ κ°λ₯νκ² ν¨
Context
props drilling μμ΄λ μμ propsλ₯Ό νμλ‘ μ λ¬ν μ μλ λ°©λ² μ 곡
still, μ μ μνκ΄λ¦¬κ° μ©μ΄νμ§ μκΈ° λλ¬Έμ
Atom
μ΄λΌλ μ μ κ°μ²΄λ₯Ό ν΅ν΄μ λ°μ΄ν°λ₯Ό κΈ°λ‘νκ³ λ³κ²½ κ°μ§λ₯Ό ν΅ν΄ viewλ‘ μ λ¬νλ Recoil
, Zustand
, Jotai
λ±μ λ°©μλ€μ΄ λμμΌλ‘μ μ μ