[CS]:: Design pattern - MVC패턴 MVC pattern

김종건·2023년 5월 24일

CS 디자인 패턴

목록 보기
8/8
post-thumbnail

🎯 MVC 패턴

✅Model

데이터베이스, 상수 변수 등의 애플리케이션 데이터를 말한다

✅View

inputbox checkbox 등의 사용자인터페이스 요소

변경이 일어나면 컨트롤러에 이를 전달해야한다

✅Controller

하나이상의 모델과 하나 이상의 뷰를 잇는 다리 역할, 이벤트 등 메인 로직을 담당한다, 모델과 뷰의 생명주기도 관리한다

  1. C 클라이언트 Request 분석
  2. M 데이터 수집 가공
  3. V 뷰 생성
  4. C 결과 응답

장점

재사용성과 확장성이 용이하다

단점

애플리케이션이 복잡해질수록 모델과 뷰의 관계가 복잡해진다


# 🎯 MVP 패턴 - controller가 `presenter`로 교체된 패턴이다

뷰와 프레젠터는 일대일 관계이기 때문에 mvc보다 더 강한 결합을 지닌다


# 🎯 MVVM 패턴
  • controller가 viewModel로 바뀐 패턴

뷰모델은 뷰를 더 추상화한 계층이며 커맨드 (여러가지 요소에 대한 처리를 하나의 액션으로 처리할수 있게 하는 기법)
데이터 바인딩(화면에 보이는 데이터와 웹 브라우저의 메모리 데이터를 일치시키는 기법) 을 가지는 것이 특징이다

양방향 데이터 바인딩을 지원하며 UI를 별도의 코드 수정 없이 재사용할 수 있고 단위 테스팅이 쉽다


참고

프론트엔드에서 MVC보다 더 많이 쓰이는 패턴
https://github.com/wnghdcjfe/csnote

profile
https://github.com/Foccy https://foccy-github-5er7huis0-foccy.vercel.app/?category=category1

0개의 댓글