NOW-ON / iOS-Interview-Preparation

iOS ๋ฉด์ ‘ ์ค€๋น„
3 stars 0 forks source link

MVVM๊ณผ MVC์˜ ์ฐจ์ด #13

Closed Glsme closed 1 year ago

Glsme commented 1 year ago

๐Ÿ—“๏ธ ๋งˆ๊ฐ์ผ

2023.01.29

๐Ÿ’ ์ฐธ์—ฌ์ž

โš ๏ธ ๋งˆ์ง€๋ง‰์œผ๋กœ ๋‹ต๋ณ€ ๋‹จ ์‚ฌ๋žŒ์ด ์ด์Šˆ close ํ•˜๊ณ  ๋ฆฌ๋“œ๋ฏธ์— ํ•ญ๋ชฉ ์—…๋ฐ์ดํŠธ ํ•ด์ฃผ์„ธ์š”.

Yun-YeoJin commented 1 year ago
Glsme commented 1 year ago

MVVM

image

LeeJoobang commented 1 year ago

MVC

์—ญํ• 

ํŠน์ง•

MVVM

์—ญํ• 

ํŠน์ง•

heydoy commented 1 year ago

MVC

Model, View, Controller image

  1. Business logic: ๋ชจ๋“  ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์ด ์ปจํŠธ๋กค๋Ÿฌ์— ์“ฐ์—ฌ ์žˆ๊ณ , ๊ทธ ๋•Œ๋ฌธ์— ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ๊ฑฐ๋Œ€ํ•ด์ ธ์„œ ๊ด€๋ฆฌํ•˜๊ธฐ๊ฐ€ ์–ด๋ ค์šธ ์ˆ˜ ์žˆ์Œ.
  2. Communication: ๋ทฐ์™€ ๋ชจ๋ธ์ด ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ํ†ตํ•ด ์ƒํ˜ธ์ž‘์šฉํ•จ

MVVM

Model, View, Controller, ViewModel

  1. ๋ทฐ ๋ชจ๋ธ์€ ํ•˜๋‚˜ ์ด์ƒ์˜ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋น„์Šค ๋ ˆ์ด์–ด (API, ๋„คํŠธ์›Œํฌ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋งค๋‹ˆ์ € ๋ ˆ์ด์–ด), ๋ฐ์ดํ„ฐ ๋ชจ๋ธ ์˜ค๋ธŒ์ ํŠธ, ๋ทฐ ๋ ˆ์ด์–ด์™€ ํ†ต์‹ 
  2. ๋ชจ๋ธ ์˜ค๋ธŒ์ ํŠธ๋Š” ๋„๋ฉ”์ธ ๋กœ์ง๋งŒ ๋‹ด๋‹น.
  3. ๋ทฐ๋Š” ์‚ฌ์šฉ์ž์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๊ณ , ์‚ฌ์šฉ์ž ์•ฃ์…˜์„ ๋ทฐ๋ชจ๋ธ์— ๋ณด๋‚ด๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์‚ฌ์šฉ์ž๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ํฌ๋งท์œผ๋กœ ์ „๋‹ฌ.
  4. ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ ˆ์ด์–ด๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ์ง ๋‹ด๋‹น. ์„œ๋กœ์™€๋„ ์—ฐ๋ฝํ•จ.
wodyddml2 commented 1 year ago

MVC

Model-View-Controller

Controller๊ฐ€ View์™€ Model์„ ๋ชจ๋‘ ์†Œ์œ ํ•˜๋Š” ํ˜•ํƒœ MVC๋Š” ViewController๊ฐ€ ๋Œ€๋ถ€๋ถ„์˜ ์—ญํ• ์„ ๋งก์•„ Massive ViewController๋ผ๊ณ ๋„ ๋ถˆ๋ฆฐ๋‹ค.

MVVM

Model-View-ViewModel

View๊ฐ€ ViewModel์„ ์†Œ์œ ํ•˜๊ณ  ViewModel์ด Model์„ ์†Œ์œ ํ•˜๋Š” ํ˜•ํƒœ MVVM์€ ViewModel์„ ํ†ตํ•ด Controller์˜ ์—ญํ•  ์ค‘ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๋ถ„๋ฆฌํ•ด์„œ ์ฒ˜๋ฆฌํ•˜๊ณ  View๋Š” ํ™”๋ฉด ๊ตฌ์„ฑ๋งŒ ํ•  ์ˆ˜ ์žˆ์–ด Controller์˜ ์—ญํ• ์„ ์ค„์ด๊ณ  ์ฝ”๋“œ๋Ÿ‰์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.

์ฐจ์ด์ 

์˜ˆ๋ฅผ ๋“ค์ž๋ฉด, MVC ํŒจํ„ด์€ ์œ ์ €์™€ ์ƒํ˜ธ์ž‘์šฉ ์‹œ View์—์„œ Controller์—๊ฒŒ ์•Œ๋ฆฌ๊ณ  Controller๊ฐ€ ๋ชจ๋‘ ์ฒ˜๋ฆฌํ•œ๋‹ค๋ฉด MVVM์€ ViewModel์ด ๋กœ์ง๋งŒ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ  View์—์„œ ์ฒ˜๋ฆฌํ• ์ง€ ๊ฒฐ์ •๋งŒ ํ•œ๋‹ค.