Factory Pattern

wangjh789·2022년 8월 31일
0

Design Pattern

목록 보기
2/13

팩토리 패턴은 SOLID 원칙을 지키기 위해 느슨한 결합을 위한 OOP 디자인 패턴이다.

코드 내에서 new 키워드를 사용했다는 의미는 인터페이스가 아닌 구상 클래스를 의존한다는 의미이다. (SOLID 위반)

별도의 클래스에서 클래스를 인스턴스화 할 수 있는데 이를 팩토리 클래스 라고 한다. 팩토리 클래스로 인해 다른 클래스에서 new 키워드를 제거할 수 있다.

추상 팩토리 패턴

기존에 Car라는 추상 클래스가 있고 포드, 도요타 라는 구현 클래스가 있다고 가정하자
그렇다면 팩토리 패턴을 이용해 CarFactory 팩토리 클래스를 만들어 사용할 수 있다.

public static void main(String[] args){
	Car 포드 = CarFactory.getCar("포드");
}

하지만 요구사항으로 가솔린 차, 전기 차를 구분해달라고 왔을 때 추상 팩토리 패턴으로 팩토리 클래스 또한 추상화 할 수 있다.

 public static void main(String[] args){
	AbstractFactory pertrolFactory = FactoryProducer.getFactory("Pertrol");
   Car petrolPord = pertolFactory.getCar("Pord");
 }

AbstractFactory 는 가솔린차 공장과 전기차 공장을 추상화하고 FactoryProducer에 의해 생성된다.

profile
기록

0개의 댓글

Powered by GraphCDN, the GraphQL CDN