Deep_Dev
article thumbnail
[์•„ํ‚คํ…์ฒ˜ํŒจํ„ด][iOS] MVVMํŒจํ„ด
๐ŸŽ iOS/Design Pattern 2024. 3. 12. 23:39

์ด ํฌ์ŠคํŒ…์€ Udemy "MVVM Design Pattern in iOS Using SwiftUI" ๊ฐ•์˜๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ž‘์„ฑ๋œ ๊ฒƒ์ด๋ฉฐ ๋ชจ๋“  ๋‚ด์šฉ์˜ ์ €์ž‘๊ถŒ์€ ๊ฐ•์˜์˜ ์›์ž‘์ž์ธ Mohammad Adam ์—๊ฒŒ ์žˆ์Œ์„ ๋ฐํž™๋‹ˆ๋‹ค. โœ… MVVM ํŒจํ„ด์ด๋ž€ Model - View - ViewModel๋กœ ๋‚˜๋‰œ๋‹ค. ํ™”๋ฉด์„ ๋งŒ๋“œ๋Š” ์ฝ”๋“œ์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ๋ถ„๋ฆฌํ•˜๋Š”๊ฒƒ์ด MVVM์˜ ํ•ต์‹ฌ์ด๋‹ค. ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ View๊ฐ€ ViewModel ๊ฐ’์„ ๊ด€์ฐฐํ•˜์—ฌ ๋ณ€ํ™”๋ฅผ ๋ฐ˜์˜ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด์„œ, ๋ฒ„ํŠผ ํด๋ฆญ์„ ํ–ˆ์„ ๋•Œ ๋‹ค์Œ ์ด๋ฏธ์ง€๊ฐ€ ๋‚˜์˜ค๋Š” ๋™์ž‘์„ ํ•œ๋‹ค๊ณ  ์นœ๋‹ค. MVC๋Š” ๋ฒ„ํŠผ์ด ๋ˆŒ๋ฆฌ๋ฉด ์ด๋ฏธ์ง€๋ฅผ "๋ฐ”๊พผ๋‹ค"์˜ ๊ฐœ๋…์ด๋ผ๋ฉด, MVVM์€ ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„ ๋•Œ ๋ทฐ๋ชจ๋ธ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฐ”๋€Œ๊ณ , ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฐ”๋€Œ๋‹ˆ ์ด๋ฏธ์ง€๋„ "์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋ฐ”๋€Œ์–ด์ง„๋‹ค"๋Š” ๊ฐœ๋…์ด๋‹ค...

article thumbnail
[์•„ํ‚คํ…์ฒ˜ํŒจํ„ด][iOS] MVC ํŒจํ„ด
๐ŸŽ iOS/Design Pattern 2023. 5. 11. 02:03

๐Ÿ“š MVC ํŒจํ„ด ๋””์ž์ธ ํŒจํ„ด ์ค‘ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ํŒจํ„ด Model - View - Controller ๊ตฌ์กฐ์˜ ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด ๐Ÿ’ก ์ผ๋ฐ˜์ ์ธ MVC ํŒจํ„ด - Model ---------- ์•ฑ์˜ ๋ฐ์ดํ„ฐ์™€ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ( ์ฃผ๋กœ struct๋‚˜ class ) - View ----------- ํ™”๋ฉด๊ณผ control๋ฅผ ์Šคํฌ๋ฆฐ์„ ํ†ตํ•ด ๋ณด์—ฌ์ฃผ๋Š” ์—ญํ•  ( ์ฃผ๋กœ UiKit ์ƒ์† ) - Controller ------ View์™€ Model์„ ์ž‡๋Š” ์—ญํ•  ( ์ฃผ๋กœ UiViewController ์ƒ์† ) View์™€ Model์ด ์ง์ ‘์ ์œผ๋กœ ์†Œํ†ตํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ Controller๋ฅผ ํ†ตํ•ด ์†Œํ†ตํ•˜๊ฒŒ ๋œ๋‹ค. ์ฆ‰, View๋Š” Model์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ , Model์„ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•œ๋‹ค. ์ด๋ฅผ Controller๊ฐ€ ์ž‡๋Š”๊ฒƒ ๐Ÿ’ก ์• ํ”Œ์˜ MVC ํŒจํ„ด V..