◈ Study

    [GoF] Factory Method 패턴 : 하위 클래스에서 인스턴스를 만든다 [인스턴스 생성을 위한 뼈대와 생성을 나누는 패턴]

    - Factory Method 패턴 : 하위 클래스에서 인스턴스를 만든다 Factory Method 패턴은 부모 클래스에서 객체들을 생성할 수 있는 인터페이스를 제공하지만, 자식 클래스들이 생성될 객체들의 유형을 변경할 수 있도록 하는 생성 패턴이다. 인스턴스 생성을 위한 뼈대와 실제 인스턴스를 생성하는 클래스를 나누어 생각할 수 있다. - 어떤 경우에 사용할까? factory는 '공장'이라는 의미로, 인스턴스를 생성하는 공장을 Template Method 패턴으로 구성한 것이 Factory Method 패턴이다. 이 패턴은 인스턴스 생성과 구현을 분리하는데 의의를 둔다. - 예제 코드 패키지 이름 설명 framework Product 추상 메서드 use만 정의한 추상 클래스 framework Facto..

    [GoF] Template Method 패턴 : 하위 클래스에서 구체적으로 처리한다 [상위 클래스에서 뼈대를, 하위 클래스에서 내용을 결정하는 패턴]

    - Template Method 패턴 : 하위 클래스에서 구체적으로 처리한다 Template Method 패턴은 템플릿 기능을 가진 패턴으로, 상위 클래스에서 처리의 뼈대를 결정하고 하위 클래스에서 그 구체적인 내용을 결정하는 패턴이다. 상위 클래스의 코드로는 어떻게 처리되는지 알 수 없다. - 어떤 경우에 사용할까? Template Method 패턴을 사용하면, 상위 클래스에 알고리즘이 기술되어 있으므로 하위 클래스 쪽에는 알고리즘을 일일이 기술할 필요가 없어지고, 오류가 발견되더라도 Template Method만 수정하면 된다. - 예제 코드 이름 설명 AbstractDisplay 메서드 display만 구현된 추상 클래스 CharDisplay, StringDisplay 메서드 open, print,..

    [GoF] Adapter 패턴 : 사이에 끼워 재사용한다(2) [상속을 사용한 패턴, 위임을 사용한 패턴]

    [GoF] Adapter 패턴 : 사이에 끼워 재사용한다(1) [제공된 것과 필요한 것 사이의 차이를 메워주는 패 - Adapter 패턴 : 사이에 끼워 재사용한다(1) Adapter 패턴은 제공된 것과 필요한 것 사이에 들어가서 그 차이를 메워주는, 호환되지 않는 인터페이스를 가진 객체들이 협업할 수 있도록 하는 구조적 yermi.tistory.com - Adapter 패턴 : 상속을 사용한 패턴, 위임을 사용한 패턴 - 전원의 비유와 예제 코드의 대응 관계 전원의 비유 예제 코드 제공된 것 교류 100볼트 Banner 클래스(showWithParen, showWithAster) 변환 장치 어댑터 PrintBanner 클래스 필요한 것 직류 12볼트 Print 인터페이스(printWeak, printS..

    [GoF] Adapter 패턴 : 사이에 끼워 재사용한다(1) [제공된 것과 필요한 것 사이의 차이를 메워주는 패턴]

    - Adapter 패턴 : 사이에 끼워 재사용한다 Adapter 패턴은 제공된 것과 필요한 것 사이에 들어가서 그 차이를 메워주는, 호환되지 않는 인터페이스를 가진 객체들이 협업할 수 있도록 하는 구조적 디자인 패턴이다. Wrapper 패턴이라고도 불린다. - 어떤 경우에 사용할까? Adapter 패턴은 기존 클래스에 한겹 덧씌어 필요한 클래스를 만든다. 즉, 기존 클래스는 충분히 테스트되어 버그가 없는 것을 알기에 Adapter 역의 클래스를 중점적으로 살펴보면 프로그램 검사가 매우 편해진다. 새로운 인터페이스(API)에 맞추기 위해 기존 클래스의 소스를 수정하게 된다면, 기존 클래스 또한 다시 테스트 해야 한다. 소프트웨어 버전 업에도 유용하게 사용된다. Adapter 패턴을 사용하면, 신버전과 구버..

    [다이어그램] 클래스 다이어그램(Class Diagram) - Marker 인터페이스 상속/구현 관계

    - 클래스 다이어그램(Class Diagram)이란? 클래스 내부 구성요소 및 클래스 간의 관계를 도식화하여 시스템의 특정 모듈이나 일부 및 전체를 구조화 → 클래스, 인터페이스 간의 관계를 알 수 있다. - Marker 인터페이스 상속/구현 관계 Generated Documentation (Untitled) unfoldingmaps.org