π‘μλλ‘μ΄λ μν€ν μ²μμ μ€μν μν μ νλ λΉμ¦λμ€ λ‘μ§κ³Ό UI λ‘μ§μ λνμ¬ μ 리νμμ΅λλ€.
κ°μ
μλλ‘μ΄λμμλ λ€μν Architecture Sampleμ μ 곡ν©λλ€. μν€ν μ² ν¨ν΄μ λ°λΌμ λ€μν λ‘μ§μ λΆλ¦¬νκ² λλλ°, κ·Έ μ€μμ λΉμ¦λμ€ λ‘μ§κ³Ό UI λ‘μ§μ κ°κΈ° λ€λ₯Έ μν μ μννλ μ€μν κ°λ μΌλ‘ μ μ©λκ³ μμ΅λλ€. μ΄ λκ°λ μ μλ‘ λ€λ₯Έ μ± μμ κ°μ§κ³ μμΌλ©°, μ ν리μΌμ΄μ μν€ν μ²λ₯Ό κΉλνκ³ μ μ§λ³΄μ κ°λ₯νκ² λ§λλ λ° μ€μν μν μ ν©λλ€.
λΉμ¦λμ€ λ‘μ§ vs UI λ‘μ§
λΉμ¦λμ€ λ‘μ§
- λΉμ¦λμ€ λ‘μ§μ μ± λ°μ΄ν°μ λν λΉμ¦λμ€ μꡬ μ¬νμ ꡬννλ κ²μΌλ‘, μ£Όλ‘ λλ©μΈ λλ λ°μ΄ν° λ μ΄μ΄μ μμΉν©λλ€.
- 무μμ ν΄μΌνκ³ , μ΄λ»κ² μ²λ¦¬νλ μ§λ₯Ό κ²°μ νλ μ ν리μΌμ΄μ μ λΉμ¦λμ€ κ·μΉμ ν¬ν¨ν©λλ€.
- UIλ νλ«νΌμ μμ‘΄νμ§ μμμΌ νλ©°, μ¬λ¬ νλ«νΌμμ μ¬μ¬μ©μ΄ κ°λ₯ν λ‘μ§μ λ§ν©λλ€.
UI λ‘μ§
- νλ©΄μμ μν λ³κ²½μ μ΄λ»κ² νμν μ§μ κ΄ν κ²μΌλ‘ Android Resourcesλ₯Ό μ¬μ©νμ¬ μ μ ν ν μ€νΈλ₯Ό νλ©΄μ νμνκ±°λ, νΉμ νλ©΄ μ΄λκ³Ό μ¬μ©μμκ² λ©μμ§ νμνλ κ² λ±μ ν¬ν¨ν©λλ€.
- νΉμ UI νλ μμν¬μ λ°μ νκ² μ°κ΄λμ΄ μμΌλ©°, νΉμ νλ«νΌμ μ’ μμ μ λλ€.
MVPμ Passive View
- MVP ν¨ν΄μμ μ¬μ©λλ κ°λ μΈ Passive Viewλ Viewκ° κ°λ₯ν μ΅μνμ λ‘μ§λ§ μ²λ¦¬νκ³ , λͺ¨λ λΉμ¦λμ€ λ‘μ§μ Presenterκ° λ΄λΉνλ ꡬ쑰λ₯Ό λ§ν©λλ€.
- Viewλ λ¨μν UI μμλ₯Ό νμνκ³ , μ¬μ©μ μ λ ₯μ Preserterλ‘ μ λ¬νλ μλμ μΈ μν λ§μ μνν©λλ€.
Passive Viewλ λͺ¨λ μ ν리μΌμ΄μ λ³ λμμ΄ ν¬ν¨λ νλ©΄κ³Ό μ»΄ν¬λνΈλ₯Ό 컨νΈλ‘€λ¬λ‘ μΆμΆνμ¬ μμ ―μ μνλ₯Ό 컨νΈλ‘€λ¬κ° μ μ μΌλ‘ μ μ΄ν μ μλλ‘ ν©λλ€. μ΄ λ ν΅μ¬μ λ·°λ₯Ό κ°μ₯ λ¨μν μνλ‘ μ μ§νμ¬, ν μ€νΈ κ°λ₯μ±κ³Ό νμ₯μ±μ λμ΄λ ꡬ쑰λ₯Ό μμ±ν΄μΌ ν©λλ€.
Resource Provider
- UI λ‘μ§μ ν¨κ³Όμ μΌλ‘ λΆλ¦¬νκ³ ν μ€νΈ κ°λ₯μ±μ λμ΄κΈ° μν΄ UI μλͺ μ£ΌκΈ°λ₯Ό λ°λ₯΄λ μν νλ ν΄λμ€λ₯Ό μ 곡ν μλ μμ΅λλ€.
λΆλ¦¬νλ μ΄μ ?
μ μ§λ³΄μμ± ν₯μ
- λΉμ¦λμ€ λ‘μ§κ³Ό UI λ‘μ§μ΄ λΆλ¦¬λμ΄ μμΌλ©΄ νΉμ λ‘μ§μ λ³κ²½ν΄λ UI μ½λμ μν₯μ μ£Όμ§ μμΌλ©°, UIλ₯Ό λ³κ²½ν΄λ λΉμ¦λμ€ λ‘μ§μ μν₯μ λ―ΈμΉμ§ μμ΅λλ€.
μ¬μ¬μ©μ± μ¦κ°
- λΉμ¦λμ€ λ‘μ§μ΄ UIμ λ 립μ μΌλ‘ μμ±λλ©΄ μ¬λ¬ νλ«νΌμμ κ°μ λΉμ¦λμ€ λ‘μ§μ μ¬μ©ν μ μμ΅λλ€.
ν μ€νΈ μ©μ΄μ±
- UI λ‘μ§μ μ’ μ’ ν μ€νΈνκΈ° μ΄λ €μ°λ©°, λΉμ¦λμ€ λ‘μ§μ UIμμ λΆλ¦¬ν μλ‘ λ 립μ μΌλ‘ λ¨μ ν μ€νΈκ° κ°λ₯ν΄μ Έ ν μ€νΈ μμ±μ΄ μ½μ΅λλ€.
ν΄λ¦° μν€ν μ²
- λΉμ¦λμ€ λ‘μ§κ³Ό UI λ‘μ§μ λΆλ¦¬λ ν΄λ¦° μν€ν μ²λ μλλ‘μ΄λ μν€ν μ² ν¨ν΄μμ μ€μν κ°λ μΌλ‘ μμ©ν μ μμ΅λλ€.