인파

You Can Become A

늦게 시작해도 누구든지 노력하면 개발자가 될수 있어요 !

공부한 내용을 정리합니다
디자인 패턴/GOF +

💠 정적 팩토리 메서드 패턴 (Static Factory Method)

Static Factory Method Pattern 정적 팩토리 메서드(Static Factory Method) 패턴은 개발자가 구성한 Static Method를 통해 간접적으로 생성자를 호출하는 객체를 생성하는 디자인 패턴이다. 우리는 지금까지 객체를 인스턴스화 할때 직접적으로 생성자(Constructor)를 호출하여 생성하였는데, 별도의 객체 생성의 역할을 하는 클래스 메서드를 통해 간접적으로 객체 생성을 유도하는 것이다. 그리고 이 정적 메서드를 통칭적으로 정적 팩토리 메서드 패턴이라고 부르는 것이다. class Book { private String title; // 생성자를 private화 하여 외부에서 생성자 호출 차단 private Book(String title) { this.title ..

category_image
인파_
2023.03.17
(0)
디자인 패턴/GOF +

💠 Template Callback 디자인 패턴

Template Callback Pattern 탬플릿 콜백 패턴(Template Callback Pattern)은 스프링 프레임워크에서 DI(Dependency injection) 의존성 주입에서 사용하는 특별한 전략 패턴이다. 스프링의 JdbcTemplate, RestTemplate, TransactionTemplate, RedisTemplate과 같은곳에 사용된다. 한마디로 GOF 디자인 패턴은 아니고 전략 패턴의 확장판 정도로 보면 된다. 기존의 전략 패턴은 변화되는 전략 알고리즘 부분을 컴파일 타임에서 클래스로 만든뒤 구현체를 주입해 주어야 되지만, 템플릿 콜백 패턴은 런타임 타임에서 익명 클래스를 이용해 동적으로 전략 알고리즘을 주입한다. 용어도 그냥 전략 패턴에서의 컨텍스트(Context)를 ..

category_image
인파_
2023.03.17
(0)
디자인 패턴/GOF +

💠 Dynamic Factory 디자인 패턴

Dynamic Factory Pattern Dynamic Factory 변형 패턴은 GOF의 Factory Method 패턴의 단점을 보완하기 위한 패턴이다. 기존 팩토리 메서드 패턴 오리지날 Factory Method 패턴의 가장 큰 단점은 제품 객체의 갯수마다 공장 서브 클래스를 1:1 매칭으로 모두 구현해야 된다는 점이다. 그래서 제품 객체가 50개면 공장 객체도 50개를 구현해야 한다. 이는 곧 클래스 폭발로 이어지며 코드 복잡도를 증가시킨다. interface Shape { void setColor(String color); void draw(); } class Rectangle implements Shape { String color; public void setColor(String colo..

category_image
인파_
2022.12.09
(0)
디자인 패턴/GOF +

💠 Enum Factory Method 디자인 패턴

Enum Factory Method Pattern Enum Factory Method 변형 패턴은 GOF의 Factory Method 패턴의 단점을 보완하기 위한 패턴이다. Factory Method 패턴의 가장 큰 단점은 제품 객체의 갯수마다 공장 서브 클래스를 모두 구현해야 된다는 점이다. 즉, 제품 객체가 50개면 공장 객체도 50개를 구현해야 된다는 말이다. 또한 기본적으로 팩토리 클래스는 한번 인스턴스화 하고 제품 객체를 생성하는 역할만 하면 되지 여러개 생성될수 있는 낭비적인 가능성이 있기 때문에 싱글톤을 일일히 적용하여야 하며 이로인해 코드가 복잡해진 다는 문제점도 있었다. 이러한 문제점을 Enum 으로 팩토리 메서드 패턴을 구성해 준다면, 일일히 서브 공장 클래스 구현 없이 하나의 enum..

category_image
인파_
2022.12.08
(0)