Android/Design Pattern
[Android/Design Pattern] MVVM 디자인 패턴에 대해 알아보자!
전에 MVP 에 대해 알아보았습니다. 이번에는 각각의 디자인 패턴의 단점을 보완하기 위해 만들어진 MVVM 에 대해 알아보겠습니다. MVVM 이란? MVVM 패턴은 Model - View - ViewModel 를 합친 용어입니다. Model 과 View 가 존재하고, Controller, Presenter 대신 ViewModel 이 존재합니다. MVVM 의 핵심은 화면을 만드는 코드와 뒤에 데이터를 처리하는 코드를 분리합니다. 이렇게 되면 하나의 소프트웨어를 최대한 기능적으로 작은 단위로 나누어 개발하므로 테스트가 쉽고, 큰 프로젝트도 상대적으로 관리하기 좋은 구조입니다. 구조 1. Model 데이터에 대한 상태 처리나 비즈니스 로직을 처리합니다. UI 에 대한 로직은 가지지 않습니다. DB 나 API ..
[Android/Design Pattern] MVP 디자인 패턴에 대해 알아보자!
지난번에는 MVC 에 대해 알아보았습니다. 이번에는 이를 보완한 MVP 에 대해 알아보겠습니다. MVP 란? MVP 패턴은 Model + View + Presenter를 합친 용어입니다. Model 과 View 는 MVC 패턴과 동일하고, Controller 대신 Presenter 가 존재합니다. MVP 의 핵심 설계는 MVC 와 다르게 UI(View) 와 로직(Model)을 분리하고, 서로 간에 상호작용을 다른 객체(Presenter)에 그 역할을 줌으로써, 서로의 영향을(의존성)을 최소화하는 것에 있습니다. 구조 1. Model Model 은 APP 에서 사용되는 data를 처리합니다. (비즈니스 로직) View 또는 Presenter 등 어떤 요소에도 의존적이지 않고 독립적이다. 2. View Vi..
[Android/Design Pattern] MVC 디자인 패턴에 대해 알아보자!
디자인 패턴을 공부하기 전에, 우선 소프트웨어 공학에 대해 알아야 합니다. 소프트웨어 공학이란 공학을 소프트웨어에 적용함으로써 '건강한 소프트웨어'를 만들기 위한 학문입니다. 디자인 패턴 또한 소프트웨어 공학에서 특정 문맥에 공통적으로 발생하는 문제에 대해 재사용이 가능하게 만들어놓은 해결책입니다. 정의하자면 '코드를 효율적으로 작성하기 위한 방법론' 이라 할 수 있습니다. 디자인 패턴은 사용하기 전에 학습하는 것도 쉽지 않지만 복잡한 구조를 보기 쉬운 구조로 바꾸어 개발할 수 있으므로 개발자들이 협업을 할 때 의사소통을 효율적으로 할 수 있습니다. 또한 디자인 패턴을 사용하면 이러한 장점들이 있습니다. 소스 코드 변경을 최소화할 수 있게 해 준다. 재사용을 통한 개발 시간을 단축시킨다. 시간과 비용이 ..