Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

Skipalong's tistory

240226 TIL - 팩토리 패턴 본문

TIL

240226 TIL - 팩토리 패턴

Skipalong 2024. 2. 27. 01:32

오늘은 스터디에서 공부한 팩토리 (메서드) 패턴에 대해 정리해보겠다. 

우선 디자인 패턴의 3가지 분류에 대해 정리하면

3가지 패턴의 목적을 이해하기!

  1. #생성 패턴 (Creational) : 객체의 생성 방식 결정예) DBConnection을 관리하는 Instance를 하나만 만들 수 있도록 제한하여, 불필요한 연결을 막음.
    Class-creational patterns, Object-creational patterns.
    예) DBConnection을 관리하는 Instance를 하나만 만들 수 있도록 제한하여, 불필요한 연결을 막음.
  2. #구조 패턴 (Structural) : 객체간의 관계를 조직
    예) 2개의 인터페이스가 서로 호환이 되지 않을 때, 둘을 연결해주기 위해서 새로운 클래스를 만들어서 연결시킬 수 있도록 함.

  3. #행위 패턴 (Behavioral): 객체의 행위를 조직, 관리, 연합
    예) 하위 클래스에서 구현해야 하는 함수 및 알고리즘들을 미리 선언하여, 상속시 이를 필수로 구현하도록 함.

이렇게 정리할 수 있다. 

 

이중 팩토리 패턴은 객체 생성 관련 상세 로직을 숨기고, 객체를 생성하는 코드의 유연성을 높이는 데 목표로 하는 생성 패턴에 해당한다.

팩토리 패턴은 객체 생성에 관한 로직을 하위 클래스에 위임하는 패턴.

상위 클래스와 하위 클래스가 분리 → 느슨한 결합

 

JAVA SPRING 백엔드 개발자가 팩토리 메서드 패턴을 사용하는 경우는 아래와같이 정리할 수 있다.

  • 다양한 타입의 객체 생성: 서로 다른 타입의 객체를 생성해야 하는 경우, 각 타입에 맞는 팩토리 메서드를 구현하여 사용할 수 있습니다. 예를 들어, 다양한 타입의 데이터베이스 연결을 생성하는 경우, 각 DB 타입에 맞는 연결 객체를 생성하는 팩토리 메서드를 구현할 수 있습니다.
  • 빈(Bean) 생성: Spring 프레임워크에서는 빈 팩토리를 통해 빈 객체를 생성하고 관리합니다. 이때 빈 팩토리는 팩토리 메서드 패턴을 사용하여 빈 객체를 생성합니다. 개발자는 @Bean 어노테이션을 사용한 메서드를 통해 빈 객체를 생성하고, Spring 컨테이너는 이 메서드를 호출하여 빈 객체를 생성하고 관리합니다.
  • 의존성 주입(Dependency Injection): 팩토리 메서드 패턴은 의존성 주입에도 사용됩니다. 객체가 다른 객체를 필요로 할 때, 팩토리 메서드를 통해 필요한 객체를 생성하고 주입할 수 있습니다. 이를 통해 코드의 결합도를 낮추고 유연성을 높일 수 있습니다.

이렇게 오늘 공부해본 디자인 패턴 중 팩토리패턴에 대해 정리해보았는데 여러 디자인패턴에 대한 개념과 어떻게 사용되는지에 대해 잘 정리해두어야겠다. 

'TIL' 카테고리의 다른 글

240228 TIL - 네트워크 토폴로지와 병목 현상  (0) 2024.02.29
240227 TIL - 객체지향 프로그래밍(OOP)  (1) 2024.02.28
240223 TIL - 귤고르기  (0) 2024.02.24
240222 TIL - Programmers 추억점수  (0) 2024.02.23
240216 TIL - redis  (0) 2024.02.17