Factory Method, Template Method, Strategy

디자인패턴

목록 보기
4/12

✅ Factory Method

설명은 기나, 이해하기 쉽자면 말 그대로 공장.
하나하나 클래스를 분리(라떼 레시피, 아메리카노 레시피 등) 하고, 상위클래스 카페 공장. 분리되기 때문에 느슨한 결합 => 유연성 UP, 유지보수 UPFactory Method
: new 연산자 대신 getInstance()를 사용하는 것.
즉, 내가 인스턴스 생성 시, 직접 만드는 것이 아니라 인스턴스를 만들어주는 메서드를 대신 호출하는 것


예)

  • getInstance()
  • List.of()
  • Arrays.asList()
  • String.valueOf()

관련 패턴

  • Template Method
    -> Template Method를 인스턴스 생성에 응용한 것
    -> Factory Method


✅ Template Method

  • 상위클래스의 틀(뼈대)을 가지고, 하위클래스에서 구체적으로 구현하는 것

  • 가변과 불변을 분리시킨 것.

  • 상속받아서 구현

  • 로직의 공통화



✅ Strategy(전략)

  • 불변(템플릿)에 가변을 주입하는 것(by 매개변수)
  • cf. 템플릿 메서드는 by 상속, 전략은 by 매개변수
profile
정리하는게 공부가 될 지 모르겠지만, 정리를 하면 마음만큼은 편해

0개의 댓글