디자인 패턴
Factory 패턴
가든_
2022. 9. 12. 01:06
생성 패턴(Creational Patterns)
❤생성패턴은 객체의 생성에 관련된 패턴으로 객체의 생성절차를 추상화하는 패턴이다.
❤객체를 생성-합성하는 방법 / 객체의 표현방법과 시스템을 분리한다.
특징
❤생성패턴은 시스템이 어떤 구체적인 클래스를 사용하는지에 대한 정보를 캡슐화한다.
❤생성패턴은 클래스의 인스턴스들이 어떻게 만들고 어떻게 맞붙는지에 대한 부분을 숨긴다.
❤즉, 객체의 생성과 조합을 캡슐화해서 특정 객체가 생성되거나 변경되어도 프로그램 구조에 영향을 크게 받지 않도록 유연성을 제공한다.
팩토리 패턴(Factory Pattern)
❤객체 생성 과정에서 간단히 사용 가능한 패턴
❤객체 생성을 위한 객체를 별도로 만들어 같은 인터페이스로 다른 객체가 생성하도록 한다.
❤객체 생성하는 코드를 분리하여 결합도를 낮추어 코드를 건드리는 횟수를 최소화 하기 위한 패턴
❓ 결합도가 낮아지는 이유
다형성을 이용하였기 때문, 인터페이스를 구현한 객체들은 같은 인터페이스를 바라보기 때문에 코드에 유연함이 있기 때문이다.
❓ 코드를 건드리는 횟수가 최소화되는 이유
객체를 생성하는 부분을 분리시켰기 때문에 객체의 추가/수정이 일어나도 객체를 생성하는 코드만 건들면 되기 때문이다.
구현방식

구현 코드

SimpleIronManFactory의 CreateIronMan에 있는 코드 ironMan→Go는 오류 확인을 위해 쓴 것.
지워야하는데 깜박했다..

아래 예제를 보고 C++으로 구현해 보았다.