코드를 개발할 때 메서드 또는 클래스에서 개체를 직접 인스턴스화 할 수 있습니다. 이것은 아주 정상적인 동안,당신은 객체의 생성 및 프로젝트에서 사용되는 위치 사이에 추가 추상화를 추가 할 수 있습니다.
팩토리 패턴을 사용하여 추가 추상화를 추가 할 수 있습니다. 팩토리 패턴은 이해하고 구현하는 가장 쉬운 패턴 중 하나입니다.
추가 추상화를 추가하면 어떤 종류의 논리를 기반으로 인스턴스화 할 클래스를 동적으로 선택할 수도 있습니다.
추상화 전에 클래스 또는 메서드가 구체적인 클래스를 직접 만듭니다. 팩토리 추상화를 추가 한 후 콘크리트 클래스는 현재 클래스/메소드 외부에서 생성되며 이제 하위 클래스에 생성됩니다.
주택을 설계하는 응용 프로그램을 상상해 보면 집은 기본적으로 바닥에 의자가 이미 추가되었습니다. 공장 패턴을 추가하여,당신은 다른 의자를 선택하는 사용자에게 옵션을 제공 할 수 있고,얼마나 많은 런타임에. 의자가 시작되었을 때 프로젝트에 하드 코딩되는 대신 사용자는 이제 선택할 수있는 옵션을 갖게됩니다.
이 추가 추상화를 추가하면 추가 개체를 인스턴스화하는 합병증이 이제 해당 개체를 사용하는 클래스 또는 메서드에서 숨길 수 있음을 의미합니다.
이 분리는 또한 코드를 읽고 문서화하기가 더 쉽습니다.
팩토리 패턴은 객체 생성과 그것이 사용되는 곳 사이에 여분의 추상화를 추가하는 것에 관한 것입니다. 이것은 당신에게 당신이 더 쉽게 미래에 확장 할 수있는 추가 옵션을 제공합니다.
구체적인 작성자:작성자(팩토리 메서드)를 호출하는 클라이언트 응용 프로그램,클래스 또는 메서드입니다.
제품 인터페이스:공장에서 최종 제품/개체를 만들기 위해 필요한 속성과 방법을 설명하는 인터페이스입니다.