๋„์ €ํžˆ ์ข‹์€ ๊ตฌ์กฐ๊ฐ€ ์•ˆ๋– ์˜ค๋ฆ„


๋ชฉํ‘œ ๊ธฐ๋Šฅ:

์บ๋ฆญํ„ฐ์˜ ๋ ˆ๋ฒจ, ์ฒด๋ ฅ ๋“ฑ ์Šคํ…Œ์ดํ„ฐ์Šค๋ฅผ ์™ธ๋ถ€๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ํŠน์ • ์”ฌ์— ์ข…์†๋˜์ง€ ์•Š๊ณ  ์—ฌ๋Ÿฌ๊ณณ์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๊ธฐ


์‹œ๋„ํ•œ ๋ฐฉ๋ฒ•:

MVVM + Repository ํŒจํ„ด -> ์บ๋ฆญํ„ฐ ์Šคํ…Œ์ดํ„ฐ์Šค๋ฅผ Model๋กœ ํ•˜๊ณ  UI๋‚˜ ์บ๋ฆญํ„ฐ ์˜ค๋ธŒ์ ํŠธ ๋“ฑ์„ View๋กœ ๋‘ฌ์„œ Model ๋ถ„๋ฆฌ


์‚ฌ์šฉ ์ด์œ :

- ์บ๋ฆญํ„ฐ ์ •๋ณด๋ฅผ ํ•œ๊ณณ์—์„œ๋งŒ ์“ฐ๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ ์—ฌ๋Ÿฌ ์”ฌ์—์„œ ์ ‘๊ทผํ•˜๊ธฐ์— ๋ถ„๋ฆฌํ•˜๋ฉด ์ข‹๊ฒ ๋‹ค ํŒ๋‹จํ•จ

- MVC๋‚˜ MVP๋ณด๋‹ค ์ข‹๋‹ค๊ธธ๋ž˜ ๊ฒฐ์ •


๋ฌธ์ œ์  :

- ๋ณธ๋ž˜ MVVM ํŒจํ„ด์˜ ๋ชฉ์ ์€ ์˜์กด๋„๋ฅผ ์ตœ์†Œ๋กœ ํ•˜๋Š”๊ฑด๋ฐ ์งœ๋‹ค๋ณด๋‹ˆ ์ž๊พธ ์˜์กด์„ฑ์ด ์ฆ๊ฐ€ํ•จ

- ๋ณธ ์˜ˆ์ œ๋“ค์—์„œ๋Š” ๋Œ€๋ถ€๋ถ„ ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ ์จ์„œ LiveData ๋“ฑ ๊ฐ’ ๋ฐ˜์˜ํ•ด์ฃผ๋Š” ํƒ€์ž…์ด ์žˆ์ง€๋งŒ ์œ ๋‹ˆํ‹ฐ์—์„œ๋Š”ย INotifyPropertyChanged๊ฐ™์€๊ฑธ๋กœ ์ง์ ‘ ๊ตฌํ˜„ํ•ด์•ผํ•จ

ย  -> ์ง์ ‘ ๊ตฌํ˜„ํ•˜๋ ค๋‹ˆ ์ฝ”๋“œ๊ฐ€ ์˜คํžˆ๋ ค ๋” ๋”๋Ÿฌ์›Œ์ง


๊ฒฐ์ •์ ์œผ๋กœ ์™œ ๊ตณ์ด ์ด๋ ‡๊ฒŒ ์งฐ๋ƒ๊ณ  ๋ฌผ์–ด๋ณด๋ฉด ๋Œ€๋‹ตํ•  ์ž์‹ ์ด ์—†์Œ

๊ตฌ๊ธ€์— ์ณ๋ด๋„ ๊ฒ€์ƒ‰ ์‹ค๋ ฅ์ด ๋”ธ๋ ค์„œ ๊ทธ๋Ÿฐ๊ฐ€ ๊ดœ์ฐฎ์€ ๊ธ€๋„ ์•ˆ๋ณด์ด๊ณ