MVC란 Model, View, Controller의 약자이며 이를 활용한 디자인 패턴이 MVC 패턴이다.
Model: 데이터를 가진 객체 지징하며, 다음과 같은 규칙이 있다.
- 사용자가 편집하길 원하는 모든 데이터를 가지고 있어야 한다.
- 뷰나 컨트롤러에 대해서 어떤 정보도 알지 말아야 한다.
- 변경이 일어나면, 변경 통지에 대한 처리 방법을 구현해야만 한다.
View: HTML/CSS/Javascript들을 모와둔 컨테이너로 사용자에게 보여지는 부분이다. 마찬가지로 다음과 같은 규칙이 있다.
- 모델이 가지고 있는 정보를 따로 저장해서는 안됩니다.
- 모델이나 컨트롤러와 같이 다른 구성 요소들을 몰라야 됩니다.
- 변경이 일어나면 변경통지에 대한 처리방법을 구현해야만 합니다.
Controller : 사용자의 조작에 따라 요청사항을 파악한 후에 그 요청에 맞는 Model과 View에 전달하여 이벤트들을 처리하는 역할을 수행한다.
- 모델이나 뷰에 대해서 알고 있어야 합니다.
- 모델이나 뷰의 변경을 모니터링 해야 합니다.
MVC패턴을 사용하는 이유는 데이터 처리와 보이는 부분을 나누고 이를 중간에서 컨트롤러가 제어해주는 식으로 나눠서 각자의 역할 별로 작업할 수 있고 이는 업무의 효율성과 독립성으로 인한 유지 보수에 도움이 된다. 그리고 중복 코딩의 문제점도 해결할 수 있다. 하지만 서비스가 커지면서 컨트롤러에 다수의 뷰와 모델이 복잡하게 연결될 수 있다.
'오늘 뭐했냐 > 개발에 대한 주저리' 카테고리의 다른 글
23.07.30 기본키(Primary Key)와 외래키(Foregin Key) (1) | 2023.08.01 |
---|---|
23.07.29 RDBMS의 정규화 (0) | 2023.08.01 |
23.07.27 ORM( 그 중에서 Sequelize) (0) | 2023.07.30 |
23.07.26 자료구조 큐(Queue) 구현 (0) | 2023.07.27 |
23.07.25 스택(Stack) 구현하기 (0) | 2023.07.26 |