Design Pattern

    [Design Pattern] Observer Pattern

    [Design Pattern] Observer Pattern

    Design Pattern 중 이번 시간은 Observer Pattern 에 대해서 알아보겠습니다. Observer란 이름은 많이 친숙하시지 않으신가요? 한 번쯤 스타크래프트 란 게임에서 보이지 않은 상태에서 탐색을 위한 비행체로 나오는데요. Observer Pattern은 무엇일까요?? Observer는 관찰자, 관측자, 목격자 등의 뜻을 가지고 있는데요. Observer들도 마찬가지 입니다. 주제 객체를 바라보고 있는 놈들이죠. Observer Pattern은 크게 주제 객체와 옵저버 객체로 나눠져 있습니다. 그럼 한번 제대로 알아보죠. Observer Pattern의 개요는 아래와 같습니다. " 객체들에게 연락망을 돌립시다 " Head First Design Pattern에서는 Observer 패턴..

    [Design Pattern] Strategy pattern

    [Design Pattern] Strategy pattern

    Strategy Pattern에 대해 한번 알아봅시다. Strategy Pattern의 기본적인 정의는 아래와 같습니다.알고리즘 군을 정의하고 각각을 캡슐화 하여 교환해서 사용할 수 있도록 만든 패턴으로 알고리즘을 사용하는 클라이언트와는 독립적으로 알고리즘이 변경 가능하다. 말이 쉬우면서도 어렵다. 알고리즘 군을 정의하고 그것을 캡슐화(?)하여 교환해서 사용하도록 만든 것이라고 한다.이걸 좀 더 쉽게 풀어서 생각하여 보자. 알고리즘 군이란 것이 무엇일까? 우리가 어떠한 클래스를 설계할 때 변경되는 부분이라고 생각하면 쉽다. 클래스 설계 시 기능(Method명)은 같지만 표현방식(구현/알고리즘)이 다른 Method들이 있다. 예를 들어 Animal이라는 클래스가 있고, 이 클래스에 cry라는 method가..

    [Design Pattern] Design Pattern 이란?

    [Design Pattern] Design Pattern 이란?

    Head First Design Patterns 책을 이용하여 Design Pattern을 한번 공부해 보기로 했다.공부 전에 간단히 Design Pattern에 대해서 알아보자. Design Pattern은 여러 가지 문제에 대한 설계 사례들을 분석해서 서로 비슷한 문제를 해결하기 위한 설계들을 분류하고, 각 문제 유형별로 가장 적합한 설계를 일반화 시켜 패턴으로 정립한 것이다. 이런 디자인패턴은 건축학에서 최초 유래되었다. 건축학에서 설계하여 디자인등을 통해 진행시 반복적으로 발생하는 사례들을 분석하여 가장 적합한 설계를 일반화 시키면서 시작되었다고 봐도 무방하다.즉, 어떤 류의 문제를 해결하기 위한 사용되는 일반적 기술인데, 이 것이 해결 방법 그 자체가 아니라 해결 방법의 일반 구조이다.패턴은 위..