노출 모듈 패턴(Revealing Module Pattern) 이란?
- 즉시 실행 함수를 통해 private, public 같은 접근 제어자를 만드는 패턴.
- 자바스크립트는 private나 public 같은 접근 제어자가 존재하지 않고 전역 범위에서 스크립트가 실행.
ㄴ노출모듈 패턴을 통해 private와 public 접근 제어자를 구현.
코드 위치: ch1/12.js
const pukuba = (() => {
const a = 1
const b = () => 2
const public = {
c : 2,
d : () => 3
}
return public
})()
console.log(pukuba)
console.log(pukuba.a)
// { c: 2, d: [Function: d] }
// undefined
MVC 패턴(Model + View + Controller)
- 가장 보편화 되었으며 가장 단순한 패턴.
- View와 Model 사이의 의존성이 높다는 단점이 있음 -> 유지보수 어려움
MVP 패턴(Model + View + Presenter)
- Presenter : View에서 요청한 정보로 Model을 가공하여 View에 전달해 주는 부분.
- Presenter는 View와 Model의 인스턴스를 가지고 있어 둘을 연결하는 역할.
ㄴ Presenter와 View는 1:1 관계
- View와 Model의 의존성이 없음.
- MVC 패턴의 단점인 View와 Model 사이의 의존성은 해결되었지만, View와 Presenter 사이의 의존성이 높은 가지게 되는 단점을 가짐.
- 어플리케이션이 복잡해 질 수록 View와 Presenter 사이의 의존성이 강해지는 단점.
MVVM 패턴(Model + View + View Model)
- View Model : View를 표현하기 위해 만든 View를 위한 Model. View를 나타내 주기 위한 Model이자 View를 나타내기 위한 데이터 처리를 하는 부분
- MVVM 패턴은 View와 Model 사이의 의존성이 없음.
- Command 패턴과 Data Binding을 사용하여 View와 View Model 사이의 의존성 또한 없음.
- 각각의 부분은 독립적이기 때문에 모듈화 하여 개발 가능.
'CS > CS' 카테고리의 다른 글
[CS] 네트워크란? (0) | 2022.09.27 |
---|---|
[CS] 옵저버 패턴 (observer pattern) (0) | 2022.09.20 |
[CS] 싱글톤 패턴(singleton pattern) (1) | 2022.09.20 |
[CS] 전략 패턴(strategy pattern, 정책 패턴(policy pattern) (0) | 2022.09.20 |
[CS] 프록시 패턴(proxy pattern) (1) | 2022.09.20 |
야나의 코딩 일기장 :) #코딩블로그 #기술블로그 #코딩 #조금씩,꾸준히
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!