1. MVC 패턴
- MVC 패턴은 모델, 뷰, 컨트롤러로 이루어진 디자인 패턴
- 애플리케이션의 구성 요소를 세 가지 역할로 구분하여 개발 프로세스에서 각각의 구성 요소에만 집중해서 개발할 수 있음
- 재사용성과 확장성이 용이하다는 장점
- 애플리케이션이 복잡해질수록 모델과 뷰의 관계가 복잡해지는 단점
- 모델
모델은 애플리케이션의 데이터인 DB, 상수, 변수 등을 말함
- 뷰
1. 뷰는 input, checkbox, textarea 등 사용자 인터페이스 요소를 말함
2. 변경이 일어나면 컨트롤러에 이를 전달
- 컨트롤러
1. 컨트롤러는 하나 이상의 모델과 하나 이상의 뷰를 잇는 다리 역할
2. 이벤트 등 메인 로직 담당
3. 모델과 뷰의 생명주기 관리
4. 모델이나 뷰의 변경 통지를 받으면 이를 해석하여 각각의 구성 요소에 해당 내용에 대해 알려줌
2. MVP 패턴
- MVP 패턴은 MVC 패턴으로부터 파생
- C에 해당하는 컨트롤러가 프레젠터로 교체된 패턴
- 프레젠터와 뷰는 1:1 관계이기 때문에 MVC 패턴보다 더 강한 결합을 지닌 디자인 패턴
3. MVVM 패턴
- MVVM 패턴은 MVC의 C에 해당하는 컨트롤러가 뷰모델로 바뀐 패턴
- 뷰모델은 뷰를 더 추상화한 계층
- MVVM 패턴은 MVC 패턴과 다르게 커맨드와 데이터 바인딩을 가지는 것이 특징
- 뷰와 뷰모델 사이의 양방향 데이터 바인딩 지원
- UI를 별도의 코드 수정 없이 재사용 가능
- 단위 테스트가 쉬운 장점
*커맨드 :
여러 가지 요소에 대한 처리를 하나의 액션으로 처리할 수 있게 하는 기법
* 데이터 바인딩 :
화면에 보이는 데이터와 웹 브라우저의 메모리 데이터를 일치시키는 기법
뷰모델을 변경하면 뷰가 변경된다.
- 참고
'개발 > ETC' 카테고리의 다른 글
refusing to allow a Personal Access Token to create or update workflow 해결 (0) | 2023.03.08 |
---|---|
프로세스와 스레드 (0) | 2023.01.29 |
디자인 패턴 (3) (0) | 2023.01.04 |
디자인 패턴 (2) (0) | 2023.01.03 |
디자인 패턴 (1) (0) | 2023.01.02 |