팩토리 패턴(Factory Pattern)
팩토리 패턴의 핵심은 '클래스의 인스턴스를 만드는 것을 서브클래스에서 결정하게 만드는 것'이다.
공장에서 어떤 재표를 넣으면 각 공정에서 다른 모양으로 변환해서 나오는 것으로 생각하면 된다.
new 키워드를 사용하는 부분을 서브클래스에서 위임해서 객체 생성을 캡슐화하고 구상 클래스에 대한 의존성이 줄어든다.
public class UnitFactory : TypeUnitFactory
{
public override Unit MakeUnit(eUNIT_TYPE _type)
{
Unit returnValue = null;
switch (_type)
{
case eUNIT_TYPE.ATTACK:{
returnValue = new AttackUnit();
}
break;
case eUNIT_TYPE.PRODUCT:{
returnValue = new ProductUnit();
}
break;
case eUNIT_TYPE.DEFENCE:{
returnValue = new DefenceUnit();
}
break;
}
return returnValue;
}
#region Private Method
#endregion
#region Public Method
#endregion
}
팩토리 패턴의 가장 주요한 특징은 new 키워드를 사용해서 Factory Class에서 생성을 해서 돌려준다는 것이다.
이렇게 구현이되면 새로운 Unit을 추가하는 과정에서도 독립과 의존성을 유지할 수 있다.
굉장히 많이 사용하는 디자인 패턴이다.
★★★★☆
반응형
'개발 > 기본) 디자인패턴' 카테고리의 다른 글
디자인패턴) 어뎁터 패턴(Adapter Pattern) (0) | 2020.04.02 |
---|---|
디자인패턴) 이터레이터 패턴( Iterator Pattern) (0) | 2020.03.31 |
디자인패턴 ) FSM- 유한상태머신(Finite State Machine) (0) | 2019.11.05 |
디자인패턴) Command 패턴 (0) | 2019.10.16 |
디자인패턴) MVVM 패턴 (0) | 2019.10.13 |
댓글