본문 바로가기
  • 주니어 개발자의
    RESTful 성장기

Design Pattern3

Abstract Factory Pattern 추상 팩토리 패턴 서로 관련 있는 여러 객체를 만들어주는 인터페이스를 제공한다. 구체적으로 어떤 클래스의 인스턴스를 사용하는 지 감출 수 있다. 다이어그램 출처: https://gmlwjd9405.github.io/images/design-pattern-abstract-factory/abstract-factory-pattern.png 팩토리 메서드 패턴과 추상 팩토리 패턴 팩토리 메서드 패턴 추상 팩토리 패턴 공통점 구체적인 객체 생성 과정을 추상화한 인터페이스를 제공한다. 특징 - 팩토리를 구현하는 방법에 초점을 둔다. - 구체적인 객체 생성 과정을 하위 또는 구체적인 클래스로 옮기는 것이 목적이다. - 팩토리를 사용하는 방법에 초점을 둔다. - 관련 있는 여러 객체를 구체적인 클래스에 의존하지 않고 .. 2022. 1. 17.
Factory Method Pattern Factory Method Pattern 객체를 생성하기 위한 인터페이스를 정의하고, 어떤 클래스를 생성할 지는 서브 클래스가 결정하도록 하는 디자인 패턴 출처: https://e7.pngegg.com/pngimages/649/269/png-clipart-factory-method-pattern-unified-modeling-language-class-diagram-factory-pattern-angle-white.png Factory Method Pattern의 장단점 1. 확장에 열려있고 변경에 닫혀있는 객체 지향 원칙을 적용해 인스턴스를 생성하는 로직을 수정하지 않고, 새로운 인스턴스를 다른 방법으로 생성할 수 있도록 확장할 수 있다. 2. 인스턴스(Product), 팩토리(Creator) 간의 결.. 2022. 1. 15.
Singleton Pattern Singleton Pattern 인스턴스를 단 한 개만 제공하는 클래스 구현 방법 1. private 생성자와 static 메소드를 이용한 구현 public class Singleton { // 클래스 당 하나만 존재해야하기 때문에 static 필드를 가지도록 한다. private static Singleton instance; // 생성자의 접근 지정자를 private으로 지정함으로써, new를 이용한 생성을 막는다. private Singleton() {} // 생성자를 사용할 수 없으니, 외부에서 인스턴스를 얻기 위해 static으로 지정한다. public static Singleton getInstance() { if (instance == null) { instance = new Singleto.. 2022. 1. 13.