본문 바로가기
Design Pattern

Factory Method Pattern

by orioncsy 2023. 5. 26.

Factory Method Pattern

개념

Factory Method Pattern

  • 생성 패턴 중에 객체를 생성하는 부분을 서브 클래스에 맡기는 패턴

Factory Method Pattern

구현 사례

Creator

public abstract class ChickenFactory{
	abstract Chicken createChicken();	
}

ConcreteCrator

public class FriedChickenFactory extends ChickenFactory{
	@Override
	Chicken createChicken(){
		return new FriedChicken();
	}
}

public class SeasonedChickenFactory extends ChickenFactory{
	@Override
	Chicken createChicken(){
		return new SeasonedChicken();
	}
}

Product

public abstract class Chicken(){
	abstract void taste();
}

ConcreteProduct

public class FriedChicken extends Chicken{
	@Override
	public void taste(){
		System.out.println("taste like FriedChicken!!");	
	}
}

public class SeasonedChicken extends Chicken{
	@Override
	public void taste(){
		System.out.println("taste like SeasonedChicken!!");	
	}
}

장단점

장점

  • 객체 생성을 하나의 한 곳에서 관리 가능
  • 새로운 객체가 추가되더라도 기존 코드 수정이 거의 없다.

단점

  • 패턴 구현을 통하여 코드가 복잡해지고 코드 길이가 길어질 수 있다.

Reference

https://gyoogle.dev/blog/design-pattern/Factory%20Method%20Pattern.html

'Design Pattern' 카테고리의 다른 글

Template Method Pattern  (0) 2023.05.25
Singleton Pattern  (0) 2023.05.24
Adapter Pattern  (0) 2023.05.23
Design Pattern  (0) 2023.05.04