본문 바로가기
개발/ETC

디자인 패턴 (4)

by devhooney 2023. 1. 6.
728x90

1. MVC 패턴

- MVC 패턴은 모델, 뷰, 컨트롤러로 이루어진 디자인 패턴

- 애플리케이션의 구성 요소를 세 가지 역할로 구분하여 개발 프로세스에서 각각의 구성 요소에만 집중해서 개발할 수 있음

- 재사용성과 확장성이 용이하다는 장점

- 애플리케이션이 복잡해질수록 모델과 뷰의 관계가 복잡해지는 단점

 

- 모델

모델은 애플리케이션의 데이터인 DB, 상수, 변수 등을 말함

 

- 뷰

1. 뷰는 input, checkbox, textarea 등 사용자 인터페이스 요소를 말함

2. 변경이 일어나면 컨트롤러에 이를 전달

 

- 컨트롤러

1. 컨트롤러는 하나 이상의 모델과 하나 이상의 뷰를 잇는 다리 역할

2. 이벤트 등 메인 로직 담당

3. 모델과 뷰의 생명주기 관리

4. 모델이나 뷰의 변경 통지를 받으면 이를 해석하여 각각의 구성 요소에 해당 내용에 대해 알려줌

 

 

 

728x90

 

 

 

2. MVP 패턴

- MVP 패턴은 MVC 패턴으로부터 파생

- C에 해당하는 컨트롤러가 프레젠터로 교체된 패턴

- 프레젠터와 뷰는 1:1 관계이기 때문에 MVC 패턴보다 더 강한 결합을 지닌 디자인 패턴

 

 

3. MVVM 패턴

- MVVM 패턴은 MVC의 C에 해당하는 컨트롤러가 뷰모델로 바뀐 패턴

- 뷰모델은 뷰를 더 추상화한 계층

- MVVM 패턴은 MVC 패턴과 다르게 커맨드와 데이터 바인딩을 가지는 것이 특징

- 뷰와 뷰모델 사이의 양방향 데이터 바인딩 지원

- UI를 별도의 코드 수정 없이 재사용 가능

- 단위 테스트가 쉬운 장점

 

*커맨드 :

여러 가지 요소에 대한 처리를 하나의 액션으로 처리할 수 있게 하는 기법

 

* 데이터 바인딩 :

화면에 보이는 데이터와 웹 브라우저의 메모리 데이터를 일치시키는 기법

뷰모델을 변경하면 뷰가 변경된다.

 

 

 

 

 

 

- 참고

http://www.yes24.com/Product/Goods/108887922

728x90

'개발 > 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