본문 바로가기

반응형

: Desgin Pattern

(4)
MVC MVC Pattern Table of Contents 1. What is MVC? 2. Motivation of MVC 3. Patterns in MVC 1. What is MVC? MVC(Model-View-Controller)란 무엇일까? Application을 세가지 역할로 구분한 개발 방법론이다. 아래의 그림과 같이 사용자가 Controller를 통해 Model을 변경하고, 변경사항은 View를 통해서 나타내게 된다. 가장 널리 사용되는 구조 중 하나이며 어플리케이션 개발, 웹 개발 등 다양한 분야에서 사용된다. 먼저 MVC는 각각 무슨 일을 하는지 간단하게 먼저 알아보자. Model: application object 모델은 데이터를 담당한다.(== DB query를 다룬다) 즉, 데이터들의 변..
Composite Pattern Composite Pattern Objectives 객체의 생성을 표현해주는 구조 패턴(Structural Pattern)이다. Scope는 Object이다. 객체들 간 계층 구조를 만들어주고, 여러 오브젝트를 구분하지 않고 동일한 인터페이스를 통해서 처리할 수 있도록 하는 것이다. Problems 트리가 있는 구조를 예시로 보자. 위와 같은 많은 메뉴들이 주어질 질 때, 어떻게 하면 이 메뉴들을 처리할 수 있을까? if ... else if 로 모두 나누어 처리하면 되지 않을까라는 생각을 할 수도 있다. 하지만, composite pattern 을사용해서 통합적으로 관리할 수 있다. 우선 클래스 다이어 그램으로 어떻게 표현되는지 알아보자 Component는 추상 클래스이며, operation() 함수를..
Adapter Pattern Adapter Pattern (== Wrapper) 용어 Target: 사용하려는 클래스나 오브젝트 Client: Target 을 사용하려는 주체이다. Targert Interface 를 사용한다. Adpater: Target을 적합한 폼으로 바꿔준다. Adaptee interface 를 사용한다. Adaptee: Adapter에 의해서 변경되는 클래스나 오브젝트 패턴의 목적 서로 다른 인터페이스가 함께 동작할 수 있게 만드는 것. 현실의 어댑터와 비슷하다. 즉, 내가 사용하려는 인터페이스에 맞게 바꿔주는 것이 목적이다. 유사하지만 다른 두 개의 클래스에 접근하려고 할 때, 어댑터를 통해서, 변경없이 하나처럼 사용할 수 있도록 하는 것이다. 어댑터 패턴은 재사용성을 높여준다. 쉬운 이해를 위해 아래 예제..
Design Pattern Design Pattern Introduction Table of Contents 1. What is Design Pattern? 2. Why do we use patterns? 3. Part Rule of Design Pattern 4. Category of GoF Patterns 5. Levels of Patterns [POSA] 6. MVC Pattern 1. What is Design Pattern? 건축학의 개념을 차용하였다. 건축학에서는 도시 계획이나 건물 디자인 절차에 대해서 연구했다. 그리고 전문가들은 자주 발생하는 문제들, 그리고 그것을 해결하기 위한 방법들을 정리하였다. 이는 프로그래밍에서도 똑같이 적용할 수 있다. 그리고 자주 발생하는 문제들에 대해서는 이미 누군가는 겪었던 문제들이다..