TIL

24/01/16 TIL __ MVC패턴

GABOJOK 2024. 1. 16. 23:45

 

 

아키텍쳐를 배우면서 언제나 보이고 들려왔던 MVC 에 대해 오늘은 다뤄보려고 한다. 

 

 

🪺 MVC패턴

 

모델 뷰 컨트롤러로 나눈 소프트웨어 디자인 패턴을 말하며, 
비지니스 로직과, 화면을 구분하는데 중점을 두고 있다.
모델은 데이터와 비지니스 로직을 관리하며, 
뷰는 레이아웃 및 화면을 관리, 
컨트롤러는 모델과 뷰로 명령을 전달하는 역할을 맡게 된다.
이걸 사용하는 이유는 역할 분리로 서로간의 결합도를 낮춰서 확장성을 높이고, 유지보수를 용이하게 하기 위함이다.

 

 

 

 

 

과정
사용자가 웹사이트에 접속
컨트롤러는 모델에게 페이지 보여달라고 요청
모델은 비지니스 로직으로 데이터를 꺼내서 결과를 내주고
그 결과는 view에 반영 및 출력한다.


여기서 컨트롤러는 모델과 뷰의 역할을 분리하는 중요한 요소이다.
또한 컨트롤러는 모델과 뷰에 대해 알고 있어야 하고, 
모델과 뷰의 변경에 대해 모니터링 해야한다는 규칙도 가지고 있따.

단점으로는 컨트롤러의 역할이 과도하게 커진다면 Massive-view-controller 현상이 나타난다.

 

 

 Massive-view-controller 현상이란
mvc패턴에서 컨트롤러의 역할이 과도하게 커지고 복잡해 지는 상황을 말한다.
주로 대규모 어플리케이션에서 발생할 수 있으며, 코드비대, 확상성저하, 유지보수성 저하, 테스트 용이성 저하 등 문제 가능성이 있다.

 

'TIL' 카테고리의 다른 글

24/01/18 TIL __ 웹소켓  (0) 2024.01.18
24/01/17 TIL __ CORS (Cross Origin Resource sharing)  (0) 2024.01.18
24/01/15 TIL __ 메세지 큐  (0) 2024.01.15
24/01/14 TIL __ 커넥션 풀  (0) 2024.01.14
24/01/13 TIL __ cache를 사용하기 위한 전략  (0) 2024.01.13