전체 글 163

[6일차] 플라이웨이트 | 구조 패턴 7일만에 끝내기 챌린지 - GoF 디자인 패턴

출처: 에릭 감마 , 리처드 헬름 , 랄프 존슨 , 존 블리시디스. 『Gof의 디자인 패턴』. 김정아(역). 프로텍미디어, 2015. [6일차] 플라이웨이트(Flyweight) 구조 패턴 7일만에 끝내기 챌린지 - GoF 디자인 패턴 타입스크립트로 설명하는 GoF 디자인 패턴의 구조 패턴 7일만에 끝내기 챌린지 플라이웨이트란? 공유를 통해 많은 수의 소립 객체들을 효과적으로 지원한다. Flyweight 패턴에서 중요한 개념은 본질적 상태와 부가적 상태의 구분이다. 본질적 상태는 Flyweight객체에 저장되어야 하며, 이것이 적용되는 상황과 상관없는 본질적 특성 정보들이 객체를 구성한다. 본질적이지 않는 부가적 상태는 Flyweight객체가 사용된 상황에 따라 달라질 수 있고, 그 상황에 종속적이므로 공..

[5일차] 퍼사드 | 구조 패턴 7일만에 끝내기 챌린지 - GoF 디자인 패턴

출처: 에릭 감마 , 리처드 헬름 , 랄프 존슨 , 존 블리시디스. 『Gof의 디자인 패턴』. 김정아(역). 프로텍미디어, 2015. [5일차] 퍼사드(Facade) 구조 패턴 7일만에 끝내기 챌린지 - GoF 디자인 패턴 타입스크립트로 설명하는 GoF 디자인 패턴의 구조 패턴 7일만에 끝내기 챌린지 퍼사드란? 한 서브시스템 내의 인터페이스 집합에 대한 획일화된 하나의 인터페이스를 제공하는 패턴으로, 서브시스템을 사용하기 쉽도록 상위 수준의 인터페이스를 정의합니다. 활용성 1) 복잡한 서브시스템에 대한 단순한 인터페이스 제공이 필요할 때 2) 추상 개념에 대한 구현 클래스와 사용자 사이에 너무 많은 종속성이 존재할 때 3) 퍼사드의 사용을 통해 사용자와 다른 서브시스템 간의 결합도를 줄이고 싶을 때 구조..

[4일차] 데코레이터 | 구조 패턴 7일만에 끝내기 챌린지 - GoF 디자인 패턴

출처: 에릭 감마 , 리처드 헬름 , 랄프 존슨 , 존 블리시디스. 『Gof의 디자인 패턴』. 김정아(역). 프로텍미디어, 2015. [4일차] 데코레이터(Decorator) 구조 패턴 7일만에 끝내기 챌린지 - GoF 디자인 패턴 타입스크립트로 설명하는 GoF 디자인 패턴의 구조 패턴 7일만에 끝내기 챌린지 데코레이터란? 객체에 동적으로 새로운 책임을 추가할 수 있게 합니다. 기능을 추가할 때 서브클래스를 생성하는 것보다 융통성 있는 방법을 제공합니다. 활용성 1) 다른 객체에 영향을 주지 않고 각각의 객체에 새로운 책임을 추가하기 위해 사용합니다. 2) 제거 될 수 있는 책임에 대해 사용합니다. 3) 너무 많은 수의 독립된 확장이 가능할 때 모든 조합을 지원하기 위해 상속으로 해결하면 클래스 수가 폭..

[3일차] 컴포지트 | 구조 패턴 7일만에 끝내기 챌린지 - GoF 디자인 패턴

출처: 에릭 감마 , 리처드 헬름 , 랄프 존슨 , 존 블리시디스. 『Gof의 디자인 패턴』. 김정아(역). 프로텍미디어, 2015. [3일차] 컴포지트(Composite) 구조 패턴 7일만에 끝내기 챌린지 - GoF 디자인 패턴 타입스크립트로 설명하는 GoF 디자인 패턴의 구조 패턴 7일만에 끝내기 챌린지 컴포지트란? 부분과 전체의 계층을 표현하기 위해 객체들을 모아 트리 구조로 구성합니다. 사용자로 하여금 개별 객체와 복합 객체를 모두 동일하게 다룰 수 있도록 하는 패턴입니다. 활용성 1) 부분-전체의 객체 계통을 표현하고 싶을 때 2) 사용자가 객체의 합성으로 생긴 복합 객체와 개별의 객체 사이의 차이를 알지 않고도 자기 일을 할 수 있도록 만들고 싶을 때, 사용자는 복합 구조의 모든 객체를 똑같이..

[2일차] 브릿지 | 구조 패턴 7일만에 끝내기 챌린지 - GoF 디자인 패턴

출처: 에릭 감마 , 리처드 헬름 , 랄프 존슨 , 존 블리시디스. 『Gof의 디자인 패턴』. 김정아(역). 프로텍미디어, 2015. [2일차] 브릿지(Bridge) 구조 패턴 7일만에 끝내기 챌린지 - GoF 디자인 패턴 타입스크립트로 설명하는 GoF 디자인 패턴의 구조 패턴 7일만에 끝내기 챌린지 브릿지란? 구현에서 추상을 분리하여, 이들이 독립적으로 다양성을 가질 수 있도록 합니다. 활용성 1) 추상적인 개념과 이에 대한 구현 사이의 지속적인 종속 관계를 피하고 싶을 때. 이를 테면, 런타임에 구현 방법을 선택하거나 구현 내용을 변경하고 싶을 때 2) 추상적 개념과 구현 모두가 독립적으로 서브클래싱을 통해 확장되어야 할 때 구조 및 구현 interface Implementor { operationI..

[1일차] 어뎁터 | 구조 패턴 7일만에 끝내기 챌린지 - GoF 디자인 패턴

출처: 에릭 감마 , 리처드 헬름 , 랄프 존슨 , 존 블리시디스. 『Gof의 디자인 패턴』. 김정아(역). 프로텍미디어, 2015. [1일차] 어뎁터(Adapter) 구조 패턴 7일만에 끝내기 챌린지 - GoF 디자인 패턴 타입스크립트로 설명하는 GoF 디자인 패턴의 구조 패턴 7일만에 끝내기 챌린지 어뎁터란? 클래스의 인터페이스를 사용자가 기대하는 인터페이스 형태로 적응시킵니다. 서로 일치하지 않는 인터페이스를 갖는 클래스들을 함께 동작시킵니다. 활용성 1) 기존 클래스를 사용하고 싶은 데 인터페이스가 맞지 않을 때 2) 이미 만든 것을 재사용하고 싶지만 이 재사용 가능한 라이브러리를 수정할 수 없을 때 구조 및 구현 클래스 적응자 다중 상속을 활용해서 한 인터페이스를 다른 인터페이스로 적응시킵니다...

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

출처: 에릭 감마 , 리처드 헬름 , 랄프 존슨 , 존 블리시디스. 『Gof의 디자인 패턴』. 김정아(역). 프로텍미디어, 2015. [0일차] 구조 패턴 7일만에 끝내기 챌린지 - GoF 디자인 패턴 타입스크립트로 설명하는 GoF 디자인 패턴의 구조 패턴 7일만에 끝내기 챌린지 구조 패턴이란? 더 큰 구조를 형성하기 위해 어떻게 클래스와 객체를 합성하는가와 관련된 패턴입니다. 구조 클래스 패턴은 상속 기법을 이용하여 인터페이스나 구현을 복합합니다. 구조 객체 패턴은 인터페이스나 구현을 복합하는 것이 아니라 새로운 기능을 실현하기 위해 객체를 합성하는 방법을 제공합니다. 공식 기술블로그 링크 더넥스트웹리서치랩 웹 클라이언트 기술을 전문적으로 연구하고 자료를 발행하는 기술 블로그를 운영합니다. the-ne..

[5일차] 싱글턴 | 생성 패턴 5일만에 끝내기 챌린지 - GoF 디자인 패턴

출처: 에릭 감마 , 리처드 헬름 , 랄프 존슨 , 존 블리시디스. 『Gof의 디자인 패턴』. 김정아(역). 프로텍미디어, 2015. [5일차] 싱글턴(Singleton) 생성 패턴 5일만에 끝내기 챌린지 - GoF 디자인 패턴 타입스크립트로 설명하는 GoF 디자인 패턴의 생성 패턴 5일만에 끝내기 챌린지 싱글턴이란? 오직 한 개의 클래스 인스턴스만을 갖도록 보장하고, 이에 대한 전역적인 접근점을 제공합니다. 활용성 1) 클래스의 인스턴스가 오직 하나여야 함을 보장하고, 잘 정의된 접근점으로 모든 사용자가 접근 할 수 있도록 해야 할 때 2) 유일한 인스턴스가 서브 클래싱으로 확장 되어야 하며, 사용자는 코드의 수정없이 확장된 서브클래스의 인스턴스를 사용할 수 있어야 할 때 구조 및 구현 class Si..

[4일차] 프로토타입 | 생성 패턴 5일만에 끝내기 챌린지 - GoF 디자인 패턴

출처: 에릭 감마 , 리처드 헬름 , 랄프 존슨 , 존 블리시디스. 『Gof의 디자인 패턴』. 김정아(역). 프로텍미디어, 2015. [4일차] 프로토타입(Prototype) 생성 패턴 5일만에 끝내기 챌린지 - GoF 디자인 패턴 타입스크립트로 설명하는 GoF 디자인 패턴의 생성 패턴 5일만에 끝내기 챌린지 프로토타입이란? 원형이 되는 인스턴스를 사용하여 생성할 객체의 종류를 명시하고, 이렇게 만든 견본을 복사해서 새로운 객체를 생성합니다. 활용성 1) 제품의 생성, 복합, 표현 방법에 독립적인 제품을 만들고자 할 때 2) 제품 클래스 계통과 병렬적으로 만드는 팩토리 클래스를 피하고 싶을 때 3) 클래스로 꼭 정의 할 필요없는 경우, 클래스의 수를 줄이고 싶을 때 구조 및 구현 interface Pro..

[3일차] 팩토리 메서드 | 생성 패턴 5일만에 끝내기 챌린지 - GoF 디자인 패턴

출처: 에릭 감마 , 리처드 헬름 , 랄프 존슨 , 존 블리시디스. 『Gof의 디자인 패턴』. 김정아(역). 프로텍미디어, 2015. [3일차] 팩토리 메서드(Factory Method) 생성 패턴 5일만에 끝내기 챌린지 - GoF 디자인 패턴 타입스크립트로 설명하는 GoF 디자인 패턴의 생성 패턴 5일만에 끝내기 챌린지 팩토리 메서란? 객체를 생성하기 위해 인터페이스를 정의하지만, 어떤 클래스의 인스턴스를 생성할지에 대한 결정은 서브클래스가 내리도록 합니다. 활용성 1) 어떤 클래스가 자신이 생성해야 하는 객체의 클래스를 예측할 수 없을 때 2) 생성할 객체를 기술하는 책임을 자신의 서브클래스가 지정했으면 할 때 구조 및 구현 구현 방법은 크게 두가지다. 1) 추상 클래스와 구체 클래스 abstract..

[2일차] 빌더 | 생성 패턴 5일만에 끝내기 챌린지 - GoF 디자인 패턴

출처: 에릭 감마 , 리처드 헬름 , 랄프 존슨 , 존 블리시디스. 『Gof의 디자인 패턴』. 김정아(역). 프로텍미디어, 2015. [2일차] 빌더(builder) 생성 패턴 5일만에 끝내기 챌린지 - GoF 디자인 패턴 타입스크립트로 설명하는 GoF 디자인 패턴의 생성 패턴 5일만에 끝내기 챌린지 빌더란? 복잡한 객체를 생성하는 방법과 표현하는 방법을 정의하는 클래스를 별도로 분리하여, 서로 다른 표현이라도 이를 생성할 수 있는 동일한 절차를 제공할 수 있도록 합니다. 활용성 1) 합성할 객체들의 표현이 서로 다르더라도 생성 절차에서 이를 지원해야 할 때 2) 복합 객체의 생성 알고리즘이 이를 합성하는 요소 객체들의 조립 방법에 독립적일 때 구조 및 구현 interface Builder { build..

[1일차] 추상 팩토리 | 생성 패턴 5일만에 끝내기 챌린지 - GoF 디자인 패턴

출처: 에릭 감마 , 리처드 헬름 , 랄프 존슨 , 존 블리시디스. 『Gof의 디자인 패턴』. 김정아(역). 프로텍미디어, 2015. [1일차] 추상 팩토리(Abstract Factory) 생성 패턴 5일만에 끝내기 챌린지 - GoF 디자인 패턴 타입스크립트로 설명하는 GoF 디자인 패턴의 생성 패턴 5일만에 끝내기 챌린지 추상 팩토리란? 구체적인 클래스를 지정하지 않고 관련성을 갖는 객체들의 집합을 생성하거나 서로 독립적인 객체들의 집합을 생성할 수 있는 인터페이스를 제공하는 패턴 활용성 1) 여러 제품군 중 하나를 선택해서 시스템을 설정해야 하고 한번 구성한 제품을 다른 것으로 대체할 수 있을 때 2) 관련된 제품 객체들이 함께 사용 되도록 설계되었고, 이 부분에 대한 제약이 외부에도 지켜지도록 하고..

728x90