전체 글 163

[10일차] 탬플릿 메소드 | 행동 패턴 11일만에 끝내기 챌린지 - GoF 디자인 패턴

출처: 에릭 감마 , 리처드 헬름 , 랄프 존슨 , 존 블리시디스. 『Gof의 디자인 패턴』. 김정아(역). 프로텍미디어, 2015. [10일차] 탬플릿 메소드(Template Method) 행동 패턴 11일만에 끝내기 챌린지 - GoF 디자인 패턴 타입스크립트로 설명하는 GoF 디자인 패턴의 행동 패턴 11일만에 끝내기 챌린지 탬플릿 메소드란? 객체의 연산에는 알고리즘의 뼈대만을 정의하고 각 단계에서 수행할 구체적 처리는 서브클래스쪽으로 미루는 패턴이다. 알고리즘의 구조 자체는 그대로 놔둔 채 알고리즘 각 단계의 처리를 서브클래스에서 재정의할 수 있게 한다. 활용성 1) 어떤 한 알고리즘을 이루는 부분 중 변하지 않는 부분을 한 번 정의해 놓고 다양해질 수 있는 부분은 서브클래스에서 정의할 수 있도록 ..

[9일차] 전략 | 행동 패턴 11일만에 끝내기 챌린지 - GoF 디자인 패턴

출처: 에릭 감마 , 리처드 헬름 , 랄프 존슨 , 존 블리시디스. 『Gof의 디자인 패턴』. 김정아(역). 프로텍미디어, 2015. [9일차] 전략(Strategy) 행동 패턴 11일만에 끝내기 챌린지 - GoF 디자인 패턴 타입스크립트로 설명하는 GoF 디자인 패턴의 행동 패턴 11일만에 끝내기 챌린지 전략이란? 동일 계열의 알고리즘군을 정의하고, 각각의 알고리즘을 캡슐화하여, 이들을 상호교환이 가능하도록 만드는 패턴이다. 알고리즘을 사용하는 사용자와 상관없이 독립적으로 알고리즘을 다양하게 변경할 수 있게 한다. 활용성 1) 하나의 클래스가 많은 행동을 정의하고, 이런 행동들이 그 클래스의 연산안에서 복잡한 다중 조건문의 모습을 취할 때 2) 행동들이 조금씩 다를 뿐 개념적으로 관련된 많은 클래스들이..

[8일차] 상태 | 행동 패턴 11일만에 끝내기 챌린지 - GoF 디자인 패턴

출처: 에릭 감마 , 리처드 헬름 , 랄프 존슨 , 존 블리시디스. 『Gof의 디자인 패턴』. 김정아(역). 프로텍미디어, 2015. [8일차] 상태(State) 행동 패턴 11일만에 끝내기 챌린지 - GoF 디자인 패턴 타입스크립트로 설명하는 GoF 디자인 패턴의 행동 패턴 11일만에 끝내기 챌린지 상태란? 객체의 내부 상태에 따라 스스로 행동을 변경할 수 있게끔 허가하는 패턴으로, 이렇게 하면 객체를 마치 자신의 클래스를 바꾸는 것 처럼 보인다. 활용성 1) 객체의 행동이 상태에 따라 달라질수 있고, 객체의 상태에 따라서 런타임에 행동이 바뀌어야 할 때 2) 어떤 연산에 그 객체의 상태에 따라 달라지는 다중 분기 조건 처리가 너무 많이 있을 때 구조 및 구현 interface State { handl..

[7일차] 옵저버 | 행동 패턴 11일만에 끝내기 챌린지 - GoF 디자인 패턴

출처: 에릭 감마 , 리처드 헬름 , 랄프 존슨 , 존 블리시디스. 『Gof의 디자인 패턴』. 김정아(역). 프로텍미디어, 2015. [7일차] 옵저버(Observer) 행동 패턴 11일만에 끝내기 챌린지 - GoF 디자인 패턴 타입스크립트로 설명하는 GoF 디자인 패턴의 행동 패턴 11일만에 끝내기 챌린지 옵저버란? 객체 사이에 일대 다의 의존 관계를 정의해두어, 어떤 객체의 상태가 변할 때 그 객체에 의존성을 가진 다른 객체들이 그 변화를 통지 받고 자동으로 갱신될 수 있게 만듭니다. 활용성 1) 어떤 추상 개념이 두 가지 양상을 갖고 하나가 다른 하나에 종속적일 때. 각 양상을 별도의 객체로 캡슐화하여 이들 각각을 재사용할 수 있습니다. 2) 한 객체에 가해진 변경으로 다른 객체를 변경해야 하고, ..

[6일차] 메멘토 | 행동 패턴 11일만에 끝내기 챌린지 - GoF 디자인 패턴

출처: 에릭 감마 , 리처드 헬름 , 랄프 존슨 , 존 블리시디스. 『Gof의 디자인 패턴』. 김정아(역). 프로텍미디어, 2015. [6일차] 메멘토(Memento) 행동 패턴 11일만에 끝내기 챌린지 - GoF 디자인 패턴 타입스크립트로 설명하는 GoF 디자인 패턴의 행동 패턴 11일만에 끝내기 챌린지 메멘토란? 캡슐화를 위배하지 않은 체 어떤 객체의 내부 상태를 잡아내고 실체화 시켜둠으로써, 이후 해당 객체가 그 상태로 되돌아 올 수 있도록 합니다. 활용성 1) 어떤 객체의 상태에 대한 스냅샷을 저장한 후 나중에 이 상태로 복구해야 할 때 2) 상태를 얻는 데 필요한 직접적인 인터페이스를 두면 그 객체의 구현 세부사항에 드러날 수 밖에 없고, 이것으로 객체의 캡슐화가 깨질때 구조 및 구현 class..

[5일차] 중재자 | 행동 패턴 11일만에 끝내기 챌린지 - GoF 디자인 패턴

출처: 에릭 감마 , 리처드 헬름 , 랄프 존슨 , 존 블리시디스. 『Gof의 디자인 패턴』. 김정아(역). 프로텍미디어, 2015. [5일차] 중재자(Mediator) 행동 패턴 11일만에 끝내기 챌린지 - GoF 디자인 패턴 타입스크립트로 설명하는 GoF 디자인 패턴의 행동 패턴 11일만에 끝내기 챌린지 중재자란? 한 집합에 속해 있는 객체의 상호작용을 캡슐화하는 객체를 정의합니다. 객체들이 서로를 직접 참조하지 않도록 하여 객체들 간의 소결합(Loose Coupling)을 촉진시키며, 객체들 간의 상호작용을 독립적으로 다양화 시킬 수 있게 합니다. 활용성 1) 한 객체가 다른 객체를 너무 많이 참고하고, 너무 많은 의사소통을 수행해서 그 객체를 재사용하기 힘들 때 2) 여러 클래스에 분산된 행동들이..

[4일차] 반복자 | 행동 패턴 11일만에 끝내기 챌린지 - GoF 디자인 패턴

출처: 에릭 감마 , 리처드 헬름 , 랄프 존슨 , 존 블리시디스. 『Gof의 디자인 패턴』. 김정아(역). 프로텍미디어, 2015. [4일차] 반복자(Iterator) 행동 패턴 11일만에 끝내기 챌린지 - GoF 디자인 패턴 타입스크립트로 설명하는 GoF 디자인 패턴의 행동 패턴 11일만에 끝내기 챌린지 반복자란? 내부 표현부를 노출하지 않고 어떤 집합 객체에 속한 원소들을 순차적으로 접근할 수 있는 방법을 제공합니다. 활용성 1) 객체 내부 표현 방식을 모르고도 집합 객체의 각 원소들에 접근하고 싶을 때 2) 집합 객체를 순회하는 다양한 방법을 지원하고 싶을 때 트리를 순회할 때 중위 순회 방식이나 전위 순회 방식등과 같은 순회 알고리즘을 바꿀 수 있다. 3) 서로 다른 집합 객체 구조에 대해서도 ..

[3일차] 해석자 | 행동 패턴 11일만에 끝내기 챌린지 - GoF 디자인 패턴

출처: 에릭 감마 , 리처드 헬름 , 랄프 존슨 , 존 블리시디스. 『Gof의 디자인 패턴』. 김정아(역). 프로텍미디어, 2015. [3일차] 해석자(Interpreter) 행동 패턴 11일만에 끝내기 챌린지 - GoF 디자인 패턴 타입스크립트로 설명하는 GoF 디자인 패턴의 행동 패턴 11일만에 끝내기 챌린지 해석자란? 간단한 언어의 문법을 정의하는 방법과 그 언어로 문장을 구성하는 방법, 이들 문장을 해석하는 방법을 설명합니다. 활용성 정의할 언어의 문법이 간단할 때 적합하다. 문법이 복잡하다면 문법을 정의하는 클래스 계통이 복잡해지고 관리하기 힘들기 때문에 이럴 때는 파서 생성기가 적합하다. 해석자 정의 방법 1) 문법정의 expression: 시작 기호 literal: 터미널 기호 express..

[2일차] 명령 | 행동 패턴 11일만에 끝내기 챌린지 - GoF 디자인 패턴

출처: 에릭 감마 , 리처드 헬름 , 랄프 존슨 , 존 블리시디스. 『Gof의 디자인 패턴』. 김정아(역). 프로텍미디어, 2015. [2일차] 명령(Command) 행동 패턴 11일만에 끝내기 챌린지 - GoF 디자인 패턴 타입스크립트로 설명하는 GoF 디자인 패턴의 행동 패턴 11일만에 끝내기 챌린지 명령이란? 명령 패턴은 요청 자체를 캡슐화하는 것입니다. 이를 통해 요청이 서로 다른 사용자를 매개변수로 만들고, 요청을 대기 시키거나 로깅하여, 되돌릴 수 있는 연산을 지원합니다. 활용성 1) 수행할 동작을 객체로 매개변수화하고자 할 때 절차지향 프로그래밍에서는 이를 콜백 함수, 즉 어딘가 등록되었다가 나중에 호출되는 함수를 사용해서 이러한 매개변수화를 표현할 수 있다. 명령 패턴은 콜백을 객체지향 방..

[1일차] 책임연쇄 | 행동 패턴 11일만에 끝내기 챌린지 - GoF 디자인 패턴

출처: 에릭 감마 , 리처드 헬름 , 랄프 존슨 , 존 블리시디스. 『Gof의 디자인 패턴』. 김정아(역). 프로텍미디어, 2015. [1일차] 책임연쇄(Chain of responsibility) 행동 패턴 11일만에 끝내기 챌린지 - GoF 디자인 패턴 타입스크립트로 설명하는 GoF 디자인 패턴의 행동 패턴 11일만에 끝내기 챌린지 책임연쇄란? 메세지를 보내는 객체와 이를 받아 처리하는 객체들 간의 결합도를 없애기 위한 패턴입니다. 하나의 요청에 대한 처리가 반드시 한 객체에서만 되지 않고, 여러 객체에게 그 처리 기회를 주려는 것입니다. 활용성 1) 하나 이상의 객체가 요청을 처리해야 하고, 그 요청 처리자 중 어떤 것이 선행자인지 모를 때, 처리자가 자동으로 확정되어야 합니다. 2) 메시지를 받을..

[0일차] 행동 패턴 11일만에 끝내기 챌린지 - GoF 디자인 패턴

출처: 에릭 감마 , 리처드 헬름 , 랄프 존슨 , 존 블리시디스. 『Gof의 디자인 패턴』. 김정아(역). 프로텍미디어, 2015. [0일차] 행동 패턴 11일만에 끝내기 챌린지 - GoF 디자인 패턴 타입스크립트로 설명하는 GoF 디자인 패턴의 행동 패턴 11일만에 끝내기 챌린지 행동 패턴이란? 어떤 처리의 책임을 어느 객체에 할당하는 것이 좋은지, 알고리즘은 어느 객체에 정의하는 것이 좋은지, 객체들 간의 교류 방법에 대하여 정의합니다. 행동 클래스 패턴은 클래스 사이에 행동 책임을 분산하기 위해서 상속을 사용합니다. 행동 객체 패턴은 상속보다는 복합을 통해서 객체 사이에 행동 처리의 책임을 분산합니다. 공식 기술블로그 링크 더넥스트웹리서치랩웹 클라이언트 기술을 전문적으로 연구하고 자료를 발행하는 ..

[7일차] 프록시 | 구조 패턴 7일만에 끝내기 챌린지 - GoF 디자인 패턴

출처: 에릭 감마 , 리처드 헬름 , 랄프 존슨 , 존 블리시디스. 『Gof의 디자인 패턴』. 김정아(역). 프로텍미디어, 2015. [7일차] 프록시(Proxy) 구조 패턴 7일만에 끝내기 챌린지 - GoF 디자인 패턴 타입스크립트로 설명하는 GoF 디자인 패턴의 구조 패턴 7일만에 끝내기 챌린지 프록시란? 다른 객체에 대한 접근을 제어하기 위한 대리자 또는 자리체움자 역할을 하는 객체를 둔다. 어떤 객체에 대한 접근을 제어하는 이유는 실제로 그 객체를 사용할 수 있을 때까지 객체 생성과 초기화에 들어가는 비용 및 시간을 묻지 않겠다는 것이다. 활용성 Remote Proxy는 서로 다른 주소 공간에 존재하는 객체를 가리키는 대표 객체로, 로컬 환경에 위치한다. Virtual Proxy는 요청이 있을 때..

728x90