[C#] 팩토리 패턴(Factory Pattern)

JanMatny·2024년 12월 17일
0

C#

목록 보기
14/15

팩토리 패턴(Factory Pattern)


목차

1. 팩토리 메서드 패턴
2. 추상 팩토리 패턴
3. 팩토리 패턴의 장단점


팩토리 메서드 패턴

  • 팩토리 메서드 패턴은 객체 생성하는 방법을 서브 클래스에서 정의하도록 하여, 객체 생성을 캡슐화하고 확장성을 높이는 디자인 패턴이다.

  • 팩토리 메서드 패턴은 상위 클래스에서 객체 생성의 인터페이스만 제공하고, 실제 객체의 생성은 하위 클래스에 위임하는 방식이다.

[*] 추상체 : 인터페이스나 추상 클래스와 같이 구체적인 동작이 구현되지 않은 구조
[*] 구현체 : 인터페이스나 추상 클래스에서 정의한 동작이나 기능을 실제로 수행하는
구체적인 클래스


추상 팩토리 패턴

추상 팩토리 패턴은 여러 제품들을 생성하기 위해 사용되는 디자인 패턴으로,
특정 제품군을 생성할 때 주로 사용한다.
이 패턴의 주요 목적은 클라이언트 코드가 어떤 구체적인 클래스에 의존하지 않고, 상위 레벨에서 정의된 인터페이스를 통해 제품을 생성할 수 있도록 하는 것이다.


팩토리 패턴의 장단점

장점

1. 객체 생성 캡슐화 : 객체 생성 로직을 분리하여 클라이언트 코드가 객체 생성 방식에 의존하지 않는다.

2. 유연성 증가 : 객체 생성 방식을 변경해도 클라이언트 코드 수정 없이 팩토리만 수정하면 된다.

3. 코드 중복 감소 : 동일한 객체 생성 로직을 팩토리에서 관리하여 코드 중복을 줄인다.

4. 확장 용이성 : 새로운 객체 추가시 팩토리만 수정하면 돼서 확장 작업에 유리함.

5. SOLID 원칙 준수 : 개방-폐쇠 원칙을 지키면서 시스템 확장이 용이함.

단점

1. 복잡성 증가 : 객체 생성 로직이 분산되어 코드가 복잡해짐.

2. 추가 클래스 필요 : 객체 생성용 팩토리 클래스를 추가해야 하므로 클래스 수가 증가.

3. 디버깅 어려움 : 객체 생성 문제를 추적하기 어려울 수 있다.

팩토리 패턴은 복잡한 객체 생성 로직을 관리하고, 유연성 및 확장성을 높이는 데 유용하지만, 지나치게 복잡하거나 작은 프로젝트에는 불필요할 수 있다.

profile
코딩 공부용 벨로그

0개의 댓글