MVC νŒ¨ν„΄

dy7888Β·2023λ…„ 3μ›” 26일
0
post-thumbnail

πŸ“ MVCλž€?

μ†Œν”„νŠΈμ›¨μ–΄ λ””μžμΈνŒ¨ν„΄ 쀑 ν•˜λ‚˜μ΄λ‹€.
λ””μžμΈνŒ¨ν„΄μ΄λž€? ν”„λ‘œκ·Έλž¨μ„ κ°œλ°œν•˜λŠ” 쀑에 λ°œμƒν–ˆλ˜ λ¬Έμ œμ λ“€μ„ μ •λ¦¬ν•΄μ„œ 상황에 따라 더 κ°„νŽΈν•˜κ³  효율적으둜 μ μš©ν•΄μ„œ μ“Έ 수 있게 μ •λ¦¬ν•΄μ„œ κ·œμ•½μ„ 톡해 μ‰½κ²Œ μ“Έ 수 μžˆλŠ” ν˜•νƒœλ₯Ό λ§ν•œλ‹€.

즉, λ””μžμΈνŒ¨ν„΄μ€ μ‰½κ²Œ λ§ν•˜λ©΄
μ–΄λ–€ ν”„λ‘œκ·Έλž¨μ„ κ΅¬ν˜„ν•˜λŠ”λ°μ—λŠ” μ—¬λŸ¬ λ°©λ²•μœΌλ‘œ ν‘œν˜„ν•  수 μžˆλŠ”λ°, μ—¬λŸ¬ μ‚¬λžŒλ“€μ΄ 같이 μœ μ§€ λ³΄μˆ˜ν•˜κΈ° μ‰¬μš°λ €λ©΄ μ•Œμ•„λ³΄κΈ° μ‰½κ²Œ ν†΅μš©ν™”λœ κ·œμΉ™μ—μ„œ κ°œλ°œν•˜λŠ” 것이 μ’‹λ‹€.
μ΄λ ‡κ²Œ κ°œλ°œν•˜κΈ° μ‰½κ²Œ λ³΄νŽΈν™”λœ ν˜•νƒœλ₯Ό λ””μžμΈ νŒ¨ν„΄μ΄λΌκ³  말할 수 μžˆκ² λ‹€.


Model

  • μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ μ •λ³΄λ‚˜ 데이터λ₯Ό μ±…μž„μ§€λ©°, DB와 μƒν˜Έμž‘μš©ν•˜λ©° λΉ„μ¦ˆλ‹ˆμŠ€ λ‘œμ§μ„ μ²˜λ¦¬ν•œλ‹€.
  • μ‚¬μš©μžκ°€ μ΄μš©ν•˜λ €λŠ” λͺ¨λ“  데이터λ₯Ό 가지고 μžˆμ–΄μ•Ό ν•œλ‹€.
  • λ·° λ˜λŠ” μ»¨νŠΈλ‘€λŸ¬μ— λŒ€ν•΄ μ–΄λ–€ 정보도 μ•Œ 수 μ—†μ–΄μ•Ό ν•œλ‹€.

View

  • λ³΄μ—¬μ§€λŠ” 화면을 λ‹΄λ‹Ή
  • λͺ¨λΈμ˜ 데이터λ₯Ό 가지고 화면에 좜λ ₯ν•˜λŠ” μ—­ν• (HTML 생성)
  • μ—¬λŸ¬κ°œμ˜ λ·° 쑴재 κ°€λŠ₯

Controller

  • Client μš”μ²­μ΄ λ“€μ–΄μ™”μ„λ•Œ κ·Έ μš”μ²­μ„ μ²˜λ¦¬ν•˜κ³  μ–΄λ–€ 둜직 μ‹€ν–‰μ‹œν‚¬ 것인지 λͺ¨λΈκ³Ό λ·°λ₯Ό μ—°κ²°ν•΄μ£Όλ©° ν†΅μ œν•˜λŠ” (μΈν„°νŽ˜μ΄μŠ€)μ—­ν• .
    즉, λͺ¨λΈμ΄ 데이터λ₯Ό μ–΄λ–»κ²Œ μ²˜λ¦¬ν• μ§€ μ•Œλ €μ£ΌλŠ” μ—­ν• 
  • λͺ¨λΈκ³Ό λ·°κ°€ 직접적인 μƒν˜Έ μ†Œν†΅ν•˜μ§€ λͺ»ν•˜λ„둝 κ΄€λ¦¬ν•œλ‹€.

πŸ“ MVC μž‘λ™ 원리


2. ControllerλŠ” λͺ¨λΈ μžλ°” 객체의 λ©”μ†Œλ“œλ₯Ό ν˜ΈμΆœν•œλ‹€.
3. 데이터λ₯Ό κ°€κ³΅ν•˜κ±°λ‚˜ DB와 μƒν˜Έμž‘μš©ν•˜μ—¬ κ°’ 객체 μƒμ„±ν•œλ‹€.
6. λ Œλ”λ§(좜λ ₯ν•œ ν™”λ©΄ λ§Œλ“€κΈ°) ν›„ μ „λ‹¬ν•œλ‹€.


πŸ“ MVC νŒ¨ν„΄μ„ μ‚¬μš©ν•˜λŠ” 이유

κ·Έλ ‡λ‹€λ©΄ μ™œ MVC νŒ¨ν„΄μ„ μ‚¬μš©ν•˜λŠ”κ±ΈκΉŒ?


MVC νŒ¨ν„΄μ„ μ‚¬μš©ν•˜λ©΄,
μ‚¬μš©μžμ—κ²Œ λ³΄μ—¬μ§€λŠ” νŽ˜μ΄μ§€, 데이터 처리, μ΄λ‘˜μ„ μ€‘κ°„μ—μ„œ μ œμ–΄ν•˜λŠ” 컨트둀러
μ΄λ ‡κ²Œ 3κ°€μ§€λ‘œ λΆ„λ¦¬ν•˜μ—¬ 각각 맑은 λ°”μ—λ§Œ 집쀑할 수 있게 λœλ‹€. (뢄업이 κ°€λŠ₯ν•΄μ§„λ‹€λŠ” 의미)
κ·Έλ ‡λ‹€λ©΄ μœ μ§€λ³΄μˆ˜μ„±, μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ ν™•μž₯μ„±, μœ μ—°μ„±μ˜ μ¦κ°€λ‘œ 쀑볡 μ½”λ”©μ˜ 문제λ₯Ό ν•΄κ²°ν•  수 μžˆλ‹€.

μ—¬κΈ°μ„œ μœ μ—°μ„±μ΄λž€, ν΄λΌμ΄μ–ΈνŠΈμ˜ μƒˆλ‘œμš΄ μš”κ΅¬μ‚¬ν•­μ— λŒ€ν•΄ μ΅œμ†ŒλΉ„μš©μœΌλ‘œ 보닀 더 μœ μ—°ν•˜κ²Œ λŒ€μ²˜ν•  수 μžˆλŠ” 것을 μ˜λ―Έν•œλ‹€.


profile
λ‚˜μ˜ κΈ°λ‘ν•˜λŠ” 개발 일지

0개의 λŒ“κΈ€