일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 코딩테스트
- dagger2
- 컴포즈
- 안드로이드 디자인패턴
- Observable
- 깃
- MVVM
- 자료구조
- 파이썬
- 코틀린
- compose
- Room
- 제한함수
- 단위테스트
- Python
- Di
- ViewModel
- rxjava
- Kotlin
- UnitTest
- 유닛테스트
- Android
- 안드로이드
- mock
- 안정성
- git
- 디자인패턴
- 테스트의 장점
- 공격적 프로그래밍
- Jetpack
- Today
- Total
목록안드로이드/Design Pattern (6)
세상을 바꾸는 개발자
안녕하세요 헬창코딩입니다. 오늘은 delegate pattern에 대해서 알아보도록 하겠습니다 델리게이트 패턴은 어떤 기능을 자기 자신이 처리하는 것이 아니라 다른 객체에 delegate(위임) 시켜서 그 객체가 일을 처리하도록 하는 패턴이 바로 delegate pattern입니다. delegate pattern을 사용하는 이유가 무엇일까요?? delegate pattern의 필요성을 설명하기 전에 먼저 상속과 구성에 대한 내용을 이해해야 합니다. 흔하게 상속은 is - a의 관계라고 말하죠 예를 들어 동물이라는 클래스가 강아지라는 클래스의 부모 클래스라면 강아지 is 동물 관계가 성립을 하는 것이죠 이런 경우에는 클래스의 변수와 메서드를 상속받아서 새로 구현을 해줄 필요가 없습니다. 하지만 이러한 상속..
안녕하세요~ 헬창코딩 입니다. 오늘은 MVVM패턴에 대해서 알아보도록 하겠습니다. 저번 글에서 살펴보았던 MVP패턴에서는 Presenter가 View에 어떤 일을 요청하는지 명백하게 확인할 수 있었습니다. 하지만 View와 Presenter가 강하게 결합하여 있다는 문제점이 있었습니다. MVVM패턴에서는 데이터 바인딩 및 LiveData 또는 Rxjava와 같은 Observable 타입을 이용해서 Presenter와 View 사이에서 강하게 연결되었던 점을 끊는데 집중했습니다. 이때 Presenter 데신 ViewModel이라는 구성요소를 사용합니다. Model과 View에 관한 설명은 이전 게시글을 참조해주세요~~ https://healthcoding.tistory.com/12 ViewModel은 Vi..
안녕하세요! 헬창코딩입니다. 지난 시간에는 MVC패턴에 대해서 알아봤는데요 이번 시간에는 MVP패턴에 대해서 한번 알아보도록 하겠습니다. MVC 패턴은 Model, View, Controller로 이루어져 있다면 MVP 패턴은 Presenter라는 새로운 녀석이 등장합니다. 그 이유는 MVC 모델의 단점인 뷰와 모델에 의존적이 의존적이라는 것을 해결하기 위해서 추가되었습니다. Presenter란 무엇일까요?? Presenter는 이전 시간에 나왔던 Controller와 비슷하다고 생각하실 수 있지만 뷰에 직접 연결되는 것이 아니라 인터페이스로 연결이 됩니다. 그렇기 때문에 MVC 패턴에서 문제가 되었던 결합도가 높고 유닛 테스트를 하기 힘든 단점을 보완할 수 있습니다. 또한 Presenter는 View와..
안녕하세요! 헬창코딩입니다. 오늘은 디자인 패턴에 대해서 알아보도록 하겠습니다.!! 먼저 mvc패턴은 안드로이드 아키텍처에서 가장 많이 쓰여왔으며 기본이 되는 디자인 패턴입니다. MVC 패턴은 말 그대로 모델(Model), 뷰(View), 컨트롤러(Controller)의 약자입니다. MVC 패턴의 구조 모델(Model) - 애플리케이션에서 비즈니스 로직과 사용되는 데이터를 다루는 영역 - 표현되는 형식에 의존적이지 않고, 사용자에게 보이지 않아 어떻게 보일 지를 신경 쓰지 않아도 됩니다. 모델(Model)의 역할 - 일반적으로 비즈니스 데이터는 DBMS에 의해 관리되고 몇몇 함수를 통해 데이터를 제공하거나 입력, 수정 등을 하는 역할을 합니다. - 안드로이드에서는 데이터베이스의 Entity를 담당하는 P..
안녕하세요~ 헬창코딩입니다. 오늘은 안드로이드 애플리케이션 설계 원칙에 대해서 알아보도록 하겠습니다.! https://book.naver.com/bookdb/book_detail.nhn?bid=16327417 책 를 참고했습니다!! 제가 처음 안드로이드를 개발을 할 때는 경험이 부족해서 디자인 패턴이나 앱 구조를 신경 쓰지 못하고 개발을 했습니다. 액티비티나 프레그먼트 같은 UI 컴포넌트에 거의 코드를 작성했죠 ㅠㅠ 그래서 스파게티 코드가 되고 코드량도 너무 많아지고 코드에 대한 가독성도 떨어질뿐더러 안드로이드에서 발생하는 다양한 예외사항을 처리하기 힘든 상태도 많이 경험을 했습니다. 그래서 이 책에서도 말하듯이 액티비티와 프래그먼트의 클래스의 의존성을 최소한으로 하는 것이 좋다고 합니다.!! 따라서 가..
안녕하세요~ 헬창코딩입니다. 오늘은 최근에 안드로이드 설계를 공부하면서 좋은 책을 하나 알게 되었어요~~ https://book.naver.com/bookdb/book_detail.nhn?bid=16327417 아키텍처를 알아야 앱 개발이 보인다 설계부터 유지 보수까지 튼튼하고 유연한안드로이드 애플리케이션 만들기안드로이드 앱 시장이 성숙하고, 서비스가 고도화됨에 따라 앱 설계에 대한 중요성이 강조되고 있다. 안드로이드 앱 book.naver.com 기본적인 앱 설계에 대한 지식들을 공부할 수 있게 도와준 책입니다.!!! 하여튼 이 책을 참고해서 안드로이드 앱 설계와 원칙을 알아볼게요~~~ 1. 애플리케이션 설계 애플리케이션 설계란? -> 구성요소들 사이에서 유기적 관계를 표현하고, 요구사항을 해결하는 계..