๐Ÿ’ป ๊ฐœ๋ฐœ/Architecture

๐Ÿ’ป ๊ฐœ๋ฐœ/Architecture

[Architecture] MVVM + Clean Architecture๋ฅผ ์•Œ์•„๋ณด์ž

SwiftUI์—์„œ๋Š” @ObservableObject ๋•๋ถ„์— ViewModel(์—ญํ• ์„ ํ•˜๋Š”?)์„ ์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋•๋ถ„์— ์‹ค์Šต์„ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋Œ€๋ถ€๋ถ„์˜ ํ”„๋กœ์ ํŠธ์—์„œ ViewModel๋กœ ๋ถ„๋ฆฌ๋Š” ํ–ˆ์ง€๋งŒ ๋ฌธ์ œ๊ฐ€ ๋งŽ์•˜๋‹ค. ์ผ๋‹จ SwiftUI๊ฐ€ View ์ž์ฒด์ ์œผ๋กœ Data Binding์ด ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฏธ ViewModel์ด ๋…น์•„๋“ค์–ด๊ฐ„ ๋Š๋‚Œ์ด๋‹ค. ํ•˜์ง€๋งŒ ์ด๊ฒƒ๋ณด๋‹ค๋„ ํ•˜๋‚˜์˜ ViewModel์—์„œ ์—ฌ๋Ÿฌ ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๋‹ค๋ณด๋‹ˆ Massive ViewModel์ด๋ž„๊นŒ? ViewModel์ด ๋น„๋Œ€ํ•ด์ง„ ๋Š๋‚Œ์ด ๋“ค์—ˆ๊ณ , ๊ทธ๋ž˜์„œ ํ•ด์ปคํ†ค ๋•Œ๋Š” ์ด๋Ÿฐ ๊ฒƒ๋“ค์„ ๊ฑท์–ด๋‚ด๊ณ  ์•„ํ‚คํ…์ณ์ ์œผ๋กœ ์กฐ๊ธˆ ๋” ๊ดœ์ฐฎ์€ ์•ฑ์„ ๊ตฌํ˜„ํ•˜๊ณ  ์‹ถ์—ˆ๋‹ค. ๋‹คํ–‰ํžˆ๋„ ํŒ€์› ์ค‘ ํ•œ ๋ถ„์ด ํด๋ฆฐ ์•„ํ‚คํ…์ณ์— ๋Œ€ํ•ด ์ž˜ ์•Œ๊ณ  ๊ณ„์…”์„œ ๋„์›€์„ ๋งŽ์ด ๋ฐ›์•˜๊ณ , ์ „๋ณด๋‹ค๋Š” ์–ด๋Š์ •๋„ ์™„์„ฑ๋œ ์•ฑ์„ ๋งŒ..

kodo_o
'๐Ÿ’ป ๊ฐœ๋ฐœ/Architecture' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก