• Gof 디자인패턴_생성 패턴에 대한 논의

    구조 패턴(structural pattern) 구조 패턴(structural pattern)은 더 큰 구조를 형성하기 위해 어떻게 클래스와 객체를 합성하는가와 관련된 패턴이다. 적응자(Adapter) 패턴 어떤 인터페이스가 다른 인터페이스를 따르게 만들어 서로 다른 인터페이스들의 통일된 추상을 제공 복합체(Composite) 패턴 두 종류의 객체에 대한 클래스(기본 클래스와 복합 클래스)로 클래스 계층 구조를 어떻게 형성하는 보여준다. 복합 객체는 기본...


  • Gof 디자인패턴_생성 패턴에 대한 논의

    생성 패턴에 대한 논의 시스템이 생성하는 객체의 클래스로 시스템을 매개변수화하는 일반적인 방법은 두 가지가 있다. 객체를 생성하는 클래스를 상속해서 서브클래스를 만드는 팩토리 메서드 단점: 제품 클래스가 바뀔 때마다 새로운 서브클래스를 생성해야 한다. 객체 합성으로 시스템을 매개변수화하는 추상 팩토리, 빌더, 원형 패턴(프로토타입) 이 세 가지 패턴은 새로운 “팩토리 객체”를 만든다. ::...


  • Gof 디자인패턴_싱글턴

    싱글턴(Singleton) 의도 오직 한 개의 클래스 인스턴스만을 갖도록 보장하고, 이에 대한 전역적인 접근점을 제공한다. 활용성 클래스의 인스턴스가 오직 하나여야 함을 보장하고, 잘 정의된 접근점으로 모던 사용자가 접근할 수 있도록 해야 할 때 유일한 인스턴스가 서브클래싱으로 확장되어야 하며, 사용자는 코드의 수정없이 확장된 서브클래스의 인스턴스를 사용할 수 있어야 할 때 구조 Singleton:...


  • Gof 디자인패턴_프로토타입

    프로토타입(prototype) 의도 원형이 되는(prototypical) 인스턴스를 사용하여 생성할 객체의 종류를 명시하고, 이렇게 만든 견본을 복사해서 새로운 객체를 생성 활용성 프로토타입 패턴은 제품의 생성, 복합, 표현 방법에 독립적인 제품을 만들고자 할 때 쓴다. 인스턴스화할 클래스를 런타임에 지정할 때(ex: 동적 로딩) 제품 클래스 계통과 병렬적으로 만드는 팩토리 클래스를 피하고 싶을 때 프로토 타입으로...


  • Gof 디자인패턴_빌더

    빌더(Builder) 의도 복잡한 객체를 생성하는 방법과 표현하는 방법을 정의하는 클래스를 별도로 분리하여, 서로 다른 표현이라도 이를 생성할 수 있는 동일한 절차를 제공할 수 있도록 한다. 활용성 복합 객체의 생성 알고리즘이 이를 합성하는 요소 객체들이 무엇인지 이들의 조립 방법에 독립적일 때 합성할 객체들의 표현이 서로 다르더라도 생성 절차에서 이를 지원해야 할...