목록ComputerScience/[디자인 패턴] (11)
Nuke Olaf - Log Store
1. MVVM - Model View ViewModel MVVM 은 소프트웨어 아키텍쳐 패턴의 하나이다. * 아키텍처 패턴(architecture pattern) 이란, 주어진 문맥 안에서 소프트웨어 아키텍처의 공통적인 발생 문제에 대한 일반적인, 재사용 가능한 해결책을 의미한다. 아키텍처 패턴은 디자인 패턴과 비슷하지만 더 넓은 범위에 속한다. MVVM 에 대해 이해하기 위해서는 MVP 패턴에 대해 알고 있는 것이 좋다. MVVM 패턴은 MVP 패턴에서 파생되어 나왔기 때문이다. MVVM 패턴은 프로그램을 설계하기 위한 하나의 방법론이라고도 생각할 수 있다. 예를 들어서 메모장 안드로이드 앱을 만든다고 생각해보자. 패턴이나 아키텍처에 대해 전혀 몰랐을때, 나는 데이터를 가져오고 저장하는 코드, 데이터를..
mvp 의 Model 을 만들기 위해 구글의 architecture-sample 코드를 참고하는데, 구글 예제에서는 model 을 구현할 때 repository 라는 클래스를 만들어 사용하는 것을 볼 수 있었다. 쌩뚱맞게 model 에 왠 repositroy 가 있는거지? 하고 repository 가 무엇인지 찾아보니, 이게 레포지토리 디자인 패턴이라고 한다. mvp 패턴에서 Model 부분을 구현할때 데이터와 데이터에 액새스하는 로직을 분리하기 위해 레포지토리 패턴을 사용할 수 있다고 한다. 레포지토리 패턴이란 무엇이며, 왜 사용하고 어떻게 사용하는 것일까? 1. Repository Pattern 이란? 1.1 repository 이라는 단어의 의미 repository 는 "어떤것의 대량 저장소" 라는..
안드로이드에 mvp 패턴 적용하기(1) mvp 패턴이란? 안드로이드에 mvp 패턴 적용하기(2) Contract 작성 안드로이드에 mvp 패턴 적용하기(3) Model 정의 안드로이드에 mvp 패턴 적용하기(4) Presenter 만들기 안드로이드에 mvp 패턴 적용하기(5) Activity 에 View 구현 이제 Model 과 Presenter 를 만들었으니, View 를 만들고 Presenter 를 통해 View 와 Model 을 연결해 주도록 하자. View 를 구현하는 방법은 간단하다. Activity 에 전에 정의해두었던 Contract.View 인터페이스를 implement 하여 View 관련 함수들을 작성해주면 된다. 그 다음, MainActivity 의 onCreate 에서 버튼에 클릭 리..
안드로이드에 mvp 패턴 적용하기(1) mvp 패턴이란? 안드로이드에 mvp 패턴 적용하기(2) Contract 작성 안드로이드에 mvp 패턴 적용하기(3) Model 정의 안드로이드에 mvp 패턴 적용하기(4) Presenter 만들기 안드로이드에 mvp 패턴 적용하기(5) Activity 에 View 구현 우리는 전의 포스팅에서 아래의 화면을 MVP 패턴으로 구현하기 위한 Contract 와 Model 을 작성했다. 이제 Presenter 와 View 를 만들어 구현할 차례이다. 이 포스팅에서는 Presenter 를 작성하는 방법에 대해 알아보도록 한다. 1. Contract.Presenter 를 상속받는 Presenter 클래스 만들기 우리는 전의 포스팅에서 다음과 같이 Contract 를 작성했었..
안드로이드에 mvp 패턴 적용하기(1) mvp 패턴이란? 안드로이드에 mvp 패턴 적용하기(2) Contract 작성 안드로이드에 mvp 패턴 적용하기(3) Model 정의 안드로이드에 mvp 패턴 적용하기(4) Presenter 만들기 안드로이드에 mvp 패턴 적용하기(5) Activity 에 View 구현 이전의 포스팅에서 아래의 화면을 MVP 패턴으로 구현하기 위해 View 와 Presenter 의 기능을 정의한 Contract 인터페이스를 작성하는 방법에 대해 알아보았다. 이번에는 이 화면에서 사용할 Model 을 구현하는 방법에 대해 생각해보자. 1. Model 이란? mvp 패턴에서의 Model 이란, 쉽게 말해서 Data 그 자체와 Data 를 저장하고, 가져오고, 관리하는 로직을 포함한 것..
안드로이드에 mvp 패턴 적용하기(1) mvp 패턴이란? 안드로이드에 mvp 패턴 적용하기(2) Contract 작성 안드로이드에 mvp 패턴 적용하기(3) Model 정의 안드로이드에 mvp 패턴 적용하기(4) Presenter 만들기 안드로이드에 mvp 패턴 적용하기(5) Activity 에 View 구현 안드로이드 코드에 mvp 패턴을 적용하는 방법에 대해 알아보자. 이 포스팅은 Google 의 architecture-sample 레포지토리의 todo-mvp-kotlin 브랜치를 참고하여 작성하였다. 이 포스팅 프로젝트의 소스 코드는 깃헙에 올려두었다. https://github.com/nukeolaf/MVP-my-first-mvp-example 1. MVP 패턴으로 구현할 화면에 어떤 기능이 필요..
안드로이드에 mvp 패턴 적용하기(1) mvp 패턴이란? 안드로이드에 mvp 패턴 적용하기(2) Contract 작성 안드로이드에 mvp 패턴 적용하기(3) Model 정의 안드로이드에 mvp 패턴 적용하기(4) Presenter 만들기 안드로이드에 mvp 패턴 적용하기(5) Activity 에 View 구현 요즘 안드로이드 개발자 채용 공고를 보면 mvp, mvvm 이라는 말을 심심치 않게 볼 수 있다. 우리는 현재 진행하고 있는 Metaler 프로젝트의 Android 앱에 mvp 패턴을 적용하려고 한다. 그런데, mvp 패턴이란 무엇일까? mvp 패턴이란 이름의 뜻은 무엇이고, 왜 사용하는 것일까? 프로젝트에 mvp 패턴을 적용하기 전에 mvp 가 무엇인지 알아보려 한다. 1. 디자인패턴과 mvc 패..
1. 디자인 패턴이란? 개발을 하면서 반복적으로 발견되는 문제를 해결할 수 있는 재사용 가능한 해결책이다. 2. 디자인 패턴을 사용하는 이유 디자인 패턴은 프로그램을 개발하면서 직면할 수 있는 문제상황들에 대한 검증된 해결책을 제시하므로, 문제 상황에 대한 해결책을 처음부터 다시 만들 필요가 없다. 디자인 패턴을 제대로 적용하여 프로그램을 설계하면, 코드의 유지보수가 쉬워진다. 또한, 디자인 패턴은 특정 문제를 해결하는 데 사용된 패턴의 이름을 정의하므로, 다른 개발자들과 시스템 설계를 논의할 때 효율적으로 커뮤니케이션 할 수 있도록 도와준다. 3. MVC 패턴이란? 애플리케이션의 시각적 요소와 그 이면에서 실행되는 로직을 Model - View - Controller 로 분리하여 서로 영향 없이 쉽게 ..