일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Android
- Dependency Injection
- 웹크롤링
- 자바기초
- 안드로이드
- 안드로이드 디자인패턴
- Design Pattern
- Android test
- mvvm
- 안드로이드 테스트
- 우분투 파이썬
- PYTHON
- java
- 유니티
- 안드로이드 mvp
- 자바
- LinkedList
- Kotlin
- ubuntu python
- flutter
- Apollo Server
- graphQL
- Apollo GraphQL
- MVVM pattern
- unit test
- Data structure
- Nexus GraphQL
- 파이썬 크롤링
- prisma
- dagger-hilt
- Today
- Total
목록Design Pattern (4)
Hun's Blog
MVVM패턴이란? 참고 https://medium.com/@jsuch2362/android-%EC%97%90%EC%84%9C-mvvm-%EC%9C%BC%EB%A1%9C-%EA%B8%B4-%EC%97%AC%EC%A0%95%EC%9D%84-82494151f312 mvp패턴에서 presenter의 문제점이 있다. 컨트롤러와 마찬가지로 시간이 지남에 따라 추가되는 비즈니스 로직이 모이게 된다. 시간이 흐르면 거대하고 다루기 어렵고 문제가 발생하기 쉽고 분리하기 어려운 presenter를 발견하게 된다. *신중한 개발자라면 앱의 변화에 맞춰 해결해 나갈 수 있다. - Model, View, ViewModel의 약자 - 뷰와 모델을 연결하기 위해 사용해야하는 연결 코드 감소 - MVP에서 파생된 패턴 - Micro..
MVP패턴이란? 안드로이드에서 MVC 패턴에 대해 떠올려 보면 Model은 분리되어 있고 View와 Control이 함께 있는 구조라는 것이다. 그 예를 Activity로 들 수 있고 실제로 Activity 내부에서 View와 Control에 관련된 내용들을 모두 구현할 수 있고 그렇게 해왔다. 그러면서 Activity라는 하나의 클래스에 굉장히 많은 로직이 포함되고 코드줄이 길어진다는 문제점이 발생한다는 것도 기억해보자. - Model, View, Presenter의 약자 - 안드로이드에서 MVC 패턴 중 View와 Control이 함께 공존하는 문제점 해결 - 안드로이드에서 가장 많이 사용하는 패턴 *Model : Data와 관련된 처리 / MVC의 Model과 동일하다. *View : 이벤트가 발생..
MVC패턴이란? - Model, View, Controller의 약자 - 비즈니스 처리 로직과 UI 요소를 분리시켜 서로 영향없이 개발 - 웹에서 주로 사용되는 디자인패턴 (안드로이드에서는 조금 다른 형태로 표현됨) *Model : 데이터를 가진다. *View : 사용자에게 보여 질 화면을 표현한다. *Control : 사용자로부터 입력을 받고, 이를 모델에 의해 View를 정의한다. MVC 구조에서 입력은 모두 Control 에서 발생하게 된다. 이벤트가 발생한 Control에 의해 모듈의 정의와 View의 용도가 결정된다. 이미지1 웹 MVC 동작 순서 1. Control : 사용자 이벤트 발생 2. Control : 사용자 이벤트 발생 후 Update가 필요한지 Model에 확인 3. Model :..
디자인 패턴 mvc - mvp - mvvm을 사용해보기위해 공부해보니 안드로이드 개발 시 사용하는 디자인패턴이라는 것을 알게되었다. 그렇다면 먼저 디자인 패턴에 대해 공부를 해봐야 할 것 같아서 찾아보기 시작했는데 공부해야 할 것이 너무 많다... 앞으로 꾸준히 해야 한다고 생각하고 여기서는 간단하게 개념만 정리한 후 예제를 만들고 실제 프로젝트에 적용해보면서 공부해 나가도록 하겠다. 디자인패턴이란 무엇인가? - 여기서 다루는 디자인패턴이란 '소프트웨어 공학'의 개념이다. - 프로그래밍할 때 다양한 문제 상황에 대한 재사용 가능한 해결책이다. *일반적인 문제를 해결하기 위해 최선의 방법을 공식화 혹은 정의 하는 것 - 패러다임과 알고리즘과는 다르다. * 객체지향 패러다임이든 함수형 프로그래밍 패러다임이든..