오늘의 WOD
로그인
오늘의 WOD
로그인
MVC, MVP, MVVM 패턴, flux패턴(핵심내용)
jaegeunsong97
·
2023년 1월 11일
팔로우
0
컴퓨터공학
0
[Inflearn] 면접을 위한 CS 지식
목록 보기
4/22
MVC, MVP, MVVM 패턴
Model
App의 데이터인 데이터베이스, 상수, 변수
뷰에서 데이터를 생성, 수정 -> 컨트롤러 -> 모델 생성, 업데이트
View
모델을 기반으로 사용자가 볼 수 있는 화면
모델이 가진 정보 없음 -> 컨트롤러를 통해 뷰로 전달
종류
MVC (View는 Controller 참조 X)
Controller
하나 이상의 모델과 하나 이상의 뷰를 이어주는 다리(메인 로직 담당)
모델 or 뷰 -> 변경 -> 전달해줌
장점
App 구성요소 3가지 -> 각각의 구성요소에 집중
재사용과 확장성 좋음
단점
App 복잡 -> 모델과 뷰의 관계 복잡
예시
MVP (View는 Presenter 참조 O)
Presenter
하는 역할은 비슷하다
View : Presenter = 1 : 1 -> MVC 보다 강한 결합
MVVM (View는 Model 참조 O)
ViewModel
VM은 뷰를 추상화한 계층
ViewModel : View = 1 : N
커멘드 -> 하나의 엑션으로 여러 요소를 처리
데이터바인딩 -> 화면상의 데이터와 브라우저상의 메모리 데이터 일치하게 함
예시
Spring MVC 패턴
디스패처 서블릿의 요청 과정
flux패턴
기존의 MVC패턴 복잡성 높음 -> 데이터에 일관성 있게 공유하기 힘듬
그래서 flux 패턴 사용
단방향 데이터흐름을 활용, 복잡한 view 구성을 단순화 함
계츨
Action
이벤트를 의미 -> 이벤트 발생하면 Action객체 생성 후 Dispatcher에게 전달
Dispatcher
Action객체 정보를 기반 어떠한 '행위'를 할 것인지 정함
Store
데이터 상태를 담음
View
장점
데이터 일관성 증가
TDD 쉬움
버그 찾기 쉬움
의존성주입과 전략패턴 차이
공통 의미 -> 무엇가를 쉽게 교체하기 위한 디자인 패턴
전략패턴
의도에 초첨, 동일한 행동 계약을 준수하는 다양한 구현으로 인터페이스를 만들도록 권장
의존성주입
일부 동작을 구현하고 의존성을 주입하기만 하는 것
프로그래밍 컨텍스트
의미
어떤 종류나 환경을 '캡슐화'
작업 중단 후 나중에 같은 지점에서 할 수 있도록 저장하는 데이터 최소 집합(=컨텍스트 스위칭)
context
context information
jaegeunsong97
블로그 이전 : https://medium.com/@jaegeunsong97
팔로우
이전 포스트
팩토리패턴, 이터레이터패턴, 전략패턴, 옵저버패턴, 프록시 패턴(핵심내용)
다음 포스트
네트워크의 기초
0개의 댓글
댓글 작성