Nuke Olaf - Log Store

디자인 패턴, MVC 패턴, MVP 패턴 요약 정리 본문

ComputerScience/[디자인 패턴]

디자인 패턴, MVC 패턴, MVP 패턴 요약 정리

NukeOlaf 2020. 3. 4. 05:34

1. 디자인 패턴이란?
개발을 하면서 반복적으로 발견되는 문제를 해결할 수 있는 재사용 가능한 해결책이다.

2. 디자인 패턴을 사용하는 이유
디자인 패턴은 프로그램을 개발하면서 직면할 수 있는 문제상황들에 대한 검증된 해결책을
제시하므로, 문제 상황에 대한 해결책을 처음부터 다시 만들 필요가 없다.
디자인 패턴을 제대로 적용하여 프로그램을 설계하면, 코드의 유지보수가 쉬워진다.
또한, 디자인 패턴은 특정 문제를 해결하는 데 사용된 패턴의 이름을 정의하므로,
다른 개발자들과 시스템 설계를 논의할 때 효율적으로 커뮤니케이션 할 수 있도록 도와준다.

3. MVC 패턴이란?
애플리케이션의 시각적 요소와 그 이면에서 실행되는 로직을
Model - View - Controller 로 분리하여
서로 영향 없이 쉽게 고칠 수 있는 애플리케이션을 만드는 방식이다.

4. MVC 패턴을 사용하는 이유
MVC 의 기능이 분리되면 유지보수가 상대적으로 용이해지며,
확장성이 커지고 유연성이 증가한다.

5. MVP 패턴이란?
Model 과 View 가 상호 의존적인 MVC 패턴의 단점을 보완하기 위해
MVC 패턴에서 파생되어 나온 디자인 패턴이다.
Model 과 View 가 Presenter 를 거쳐서만 상호 동작할 수 있다는 것이 특징이다.

6. MVP 패턴을 사용하는 이유
MVC 패턴의 단점을 보완하기 위해 사용한다.
Model 과 View 가 완전히 분리되어 Model 의 역할인 비즈니스 로직을
독립적으로 테스트할 필요가 있을 때 사용한다.

7. 안드로이드에서 MVP 패턴을 사용하는 방법

(1) Presenter 클래스를 작성한다.
- Presenter 는 View 와 interface 로 연결된다.

- Presenter 클래스 내에 Model 과 View 객체를 선언한다.

- Model 로부터 데이터를 가져와 처리하고, 
다시 Model 에 보내 저장하게 하는 코드를 작성한다.

- View 를 Handle 하는 인터페이스를 작성한다.

(2) Model 클래스를 작성한다.
- 저장된 데이터를 Presenter 에 전송하거나 저장하는 코드를 작성한다.

(3) MainActivity 는 Presenter 의 View 인터페이스를 구현한다.

(4) MainActivity 에 presenter 클래스를 선언하고,
onCreate 에서 presenter 객체와 xml 의 View 를 연결해주는 작업을 한다

Comments