[디자인패턴] Factory 패턴

Factory Pattern 1. factory method pattern 객체를 생성하기 위한 인터페이스를 정의하는데, 어떤 클래스의 인스턴스를 만들지는 서브클래스에서 결정한다. package main import ( "errors" "fmt" ) type Character interface { Attack() } const ( warrior = iota mage ) type Warrior struct { } func (w *Warrior) Attack() { fmt.Println("sword attack") } type Mage struct { } func (m *Mage) Attack() { fmt.Println("magic attack") } Factory struct type CharacterFactory struct { } func (f *CharacterFactory) Create(job int) (Character, error) { switch job { case warrior: return &Warrior{}, nil case mage: return &Mage{}, nil default: return nil, errors....

April 16, 2021 · 2 min · icecat471