[생성 패턴] Factory pattern (팩토리 패턴)


생성할 구상 클래스를 서브클래스에서 결정한다.

팩토리 메소드 패턴에서 템플릿 메소드 패턴이 사용될 수 있다.

 

팩토리 패턴은 자바에서 가장 많이 사용되는 디자인 패턴중 하나이다.

팩토리 패턴에서 클라이언트에 생성로직을 노출하지 않고 객체를 생성하고 공통 인터페이스를 사용하여 새롭게 생성된 객체를 참조한다.


(사용 예제)

1. 게임 아이템과 아이템 생성을 구현

- 아이템을 생성하기 전 데이터베이스에서 아이템 정보를 요청

- 아이템을 생성 후 아이템 복제 등의 불법을 방지하기 위해 데이터 베이스에 아이템 생성정보 남깁니다.

2. 아이템을 생성하는 주체를 ItemCreator로 이름 짓기

3. 아이템은 item 이라는 interface로 다룰 수 있도록 합니다.

- item은 use함수를 기본 함수로 갖고 있습니다.

4. 현재 아이템의 종류는 체력 회복 물약, 마력 회복 물약이 있습니다.




* 모든 아이템은 use라는 메소드를 가짐




* 아이템 인터페이스를 생성하고, 그 과정에서 필요한 메소드들을 추상메소드들로 정의해줌으로써

만든 아이템을 이후에 특정하고, 추후에 필요한 과정들 또한 오버라이드를 강제한다.




* 각 아이템의 생성클래스는 아이템생성 추상클래스를 생성함으로써 특징들을 상세한다.













* ItemCreator 클래스는 팩토리 패턴 클래스 역할을 하게 된다.






Posted by kunoo
,