티스토리 뷰
https://salix97.tistory.com/205
XML 레이아웃 - View 역할
Activity - Controller
MVC 패턴
MVP 패턴
Model, View, Presenter 의 정의는 MVC 패턴과 크게 다르지는 않다.
- Model : 애플리케이션 데이터와 상태에 대한 비즈니스 로직을 수행한다
- View : 실제 View 에 대한 직접적인 접근을 담당한다
- Presenter : 뷰와 모델 사이에서 데이터를 전달하는 역할을 한다
동작
MVP 패턴의 동작 순서는 아래와 같습니다.
- 사용자의 Action들은 View를 통해 들어오게 됩니다.
- View는 데이터를 Presenter에 요청합니다.
- Presenter는 Model에게 데이터를 요청합니다.
- Model은 Presenter에서 요청받은 데이터를 응답합니다.
- Presenter는 View에게 데이터를 응답합니다.
- View는 Presenter가 응답한 데이터를 이용하여 화면을 나타냅니다.
특징
Presenter는 View와 Model의 인스턴스를 가지고 있어 둘을 연결하는 접착제 역할을 합니다.
Presenter와 View는 1:1 관계입니다.
장점
MVP 패턴의 장점은 View와 Model의 의존성이 없다는 것입니다. MVP 패턴은 MVC 패턴의 단점이었던 View와 Model의 의존성을 해결하였습니다. (Presenter를 통해서만 데이터를 전달 받기 때문에..)
단점
MVC 패턴의 단점인 View와 Model 사이의 의존성은 해결되었지만, View와 Presenter 사이의 의존성이 높은 가지게 되는 단점이 있습니다. 어플리케이션이 복잡해 질 수록 View와 Presenter 사이의 의존성이 강해지는 단점이 있습니다.
출처: https://beomy.tistory.com/43 [beomy]
Repository pattern 구현
Repositry pattern는 MVP에서 Model이 Data와 Source 부분으로 나누어진다. Source는 필요한 정보를 local, remote에서 정보를 직접 가져오는 역할을 담당하고, Data는 Presenter는 모르게 local에서 가져올 지, remote에서 가져올 지 선택하여 Data를 저장, 전달해주는 역할을 담당한다.
3. MVVM
MVVM 패턴은 Model + View + View Model를 합친 용어입니다. Model과 View은 다른 패턴과 동일합니다. MVVM 패턴의 구조, 동작, 특징, 장점, 단점을 이야기하겠습니다.
1) 구조
MVVM는 Model + View + View Model를 말합니다.
- Model : 어플리케이션에서 사용되는 데이터와 그 데이터를 처리하는 부분입니다.
- View : 사용자에서 보여지는 UI 부분입니다.
- View Model : View를 표현하기 위해 만든 View를 위한 Model입니다. View를 나타내 주기 위한 Model이자 View를 나타내기 위한 데이터 처리를 하는 부분입니다.
2) 동작
MVVM 패턴의 동작 순서는 아래와 같습니다.
- 사용자의 Action들은 View를 통해 들어오게 됩니다.
- View에 Action이 들어오면, Command 패턴으로 View Model에 Action을 전달합니다.
- View Model은 Model에게 데이터를 요청합니다.
- Model은 View Model에게 요청받은 데이터를 응답합니다.
- View Model은 응답 받은 데이터를 가공하여 저장합니다.
- View는 View Model과 Data Binding하여 화면을 나타냅니다.
3) 특징
MVVM 패턴은 Command 패턴과 Data Binding 두 가지 패턴을 사용하여 구현되었습니다.
Command 패턴과 Data Binding을 이용하여 View와 View Model 사이의 의존성을 없앴습니다.
View Model과 View는 1:n 관계입니다.
4) 장점
MVVM 패턴은 View와 Model 사이의 의존성이 없습니다. 또한 Command 패턴과 Data Binding을 사용하여 View와 View Model 사이의 의존성 또한 없앤 디자인패턴입니다. 각각의 부분은 독립적이기 때문에 모듈화 하여 개발할 수 있습니다.
5) 단점
MVVM 패턴의 단점은 View Model의 설계가 쉽지 않다는 점입니다.
출처: https://beomy.tistory.com/43 [beomy]
View
- Activity / Fragment 가 View 역할을 함
- 사용자의 Action 을 받음 (텍스트 입력, 버튼 터치 등)
- ViewModel 의 데이터를 관찰하여 UI 갱신
ViewModel
- View 가 요청한 데이터를 Model 로 요청함
- Model 로부터 요청한 데이터를 받음
Model
- ViewModel 이 요청한 데이터를 반환함
- Room, Realm 과 같은 DB 사용이나 Retrofit 을 통한 백엔드 API 호출 (네트워킹) 이 보편적
- Total
- Today
- Yesterday
- react 3d 에니메이션
- rollup ts react npm
- react three fiber leva
- 카카오 카드 짝 맞추기 자바스크립트
- ts glsl
- next.js import glsl
- 카카오 카드 짝 맞추기 javascript
- vue3
- 카드 짝 맞추기 자바스크립트
- react leva
- 카카오 2021 카드 짝 맞추기
- leva
- react glsl
- typescript gsls
- Vue.js
- rollup react.js npm
- rollup typescript
- react 3d text
- three.js leva
- react fiber 3d
- react three fiber
- eslint
- rollup typescript react
- react 3d animation
- vue
- react 3d
- attempted import error: bvh_struct_definitions' is not exported from './gpu/bvhshaderglsl.js' (imported as 'bvhshaderglsl').
- 카드 짝 맞추기 javascript
- next.js glsl
- webpack glsl
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |