MVVM with Clean Architecture - Team-Nogari/Huhoe GitHub Wiki
MVVM
- MVVM์ ๋์ ํ์ฌ ๋ทฐ์ปจํธ๋กค๋ฌ์ ๋ทฐ๋ ํ๋ฉด์ ๊ทธ๋ฆฌ๋ ์ญํ ์๋ง ์ง์คํ๊ณ , ๋ฐ์ดํฐ ๊ด๋ฆฌ, ๋น์ง๋์ค ๋ก์ง์ ๋ทฐ๋ชจ๋ธ์์ ์งํํ์ฌ ์ญํ ์ ๋ช ํํ ํ์์ต๋๋ค.
Clean Architecture
- Presentation Layer, Domain Layer, Data Layer๋ก ์ญํ ๊ณผ ์์ญ์ ๋ถ๋ฆฌํ์ฌ ๊ด๋ฆฌํ์์ต๋๋ค.
- Presentation Layer์๋
๋ทฐ
,๋ทฐ์ปจํธ๋กค๋ฌ
,๋ทฐ๋ชจ๋ธ
์ด ํฌํจ๋์ด ์์ต๋๋ค. - Domain Layer์๋
Entity(๋ชจ๋ธ)
,UseCase
,Repository(Protocol)
์ด ํฌํจ๋์ด ์์ต๋๋ค. - Data Layer์๋
DTO(๋คํธ์ํฌ ๋ชจ๋ธ)
,Repository
,Network Service
๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
Input/Output Modeling
- ๋ทฐ๋ชจ๋ธ์ Input๊ณผ Output์ ์ ์ํ์์ต๋๋ค.
- ๋ทฐ, ๋ทฐ์ปจํธ๋กค๋ฌ์์ ๋ค์ด์ค๋ ์ ๋ ฅ ๊ฐ์ Input์ผ๋ก ์ ์ํ๊ณ Input๊ณผ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ณตํ์ฌ ๋ทฐ์ ๋ณด์ฌ์ง ๋ฐ์ดํฐ๋ฅผ Output์ผ๋ก ๋ฐ์ธ๋ฉ ํ์์ต๋๋ค.
ํฅํ MVMM-C ์ ์ฉ ์์