자바 팩토리 패턴 예제

이 문서에서는 Java의 가장 일반적인 디자인 패턴 중 하나인 공장 방법 디자인 패턴에 대해 설명합니다. 이러한 유형의 디자인 패턴은 창작물 디자인 패턴의 유형이지만 개체를 생성하는 가장 좋은 방법 중 하나입니다. 따라서 Factory Method 디자인 패턴에서는 개체를 개발하지만 사용자에게 생성의 논리 나 기능을 공개하지 않고 공통 인터페이스를 사용하여 새로 만든 개체를 참조합니다. Factory Method 디자인 패턴의 주요 목적은 “개체를 생성하는 인터페이스를 설정하지만 하위 클래스가 인스턴스화할 클래스를 결정할 수 있도록 합니다. 팩터리 메서드를 사용하면 클래스가 하위 클래스에 위임할 수 있습니다.” 사용자가 시각적 구성 요소의 크기 조정과 관련된 논리를 결정할 수 있도록 프레임워크는 필요한 구성 요소를 제공할 수 있는 작성자 제공을 요청할 수 있습니다(이 구현에는 두 개 이상의 팩터리 메서드가 포함되어 있음): 메서드 패턴은 가상 생성자라고도 합니다. Java 자습서의 공장 디자인 패턴에 오신 것을 환영합니다. 공장 패턴은 창조 디자인 패턴 중 하나이며 JDK뿐만 아니라 스프링 및 스트럿과 같은 프레임 워크에서 널리 사용됩니다. 나는이 게시물을 유익하게 만들기 위해이 Java 공장 패턴 예제에 충분한 정보를 포함시켰으면 합니다. 먼저 Java에서 공장 디자인 패턴을 구현하는 방법을 알아본 다음 공장 패턴의 장점을 살펴보겠습니다. 우리는 JDK에서 공장 디자인 패턴 사용의 일부를 볼 수 있습니다.

이 패턴을 팩터리 메서드 디자인 패턴이라고도 합니다. 이제 여러 패밀리를 준비했기 때문에 추상팩토리 인터페이스를 만들 수 있습니다: 공용 클래스 AnimalFactory는 추상팩토리 {@Override 공용 동물 만들기(문자열 유형) { if (“Dog”.equalsIgnoreCase(animalType)) { 새 Dog() ; } 다른 경우 (“오리”.equalsIgnoreCase (animalType)) { 반환 새 오리 (); } 반환 null; } } 팩터리 메서드 패턴의 이 단순화된 정의는 Creator 계층 구조가 단일 클래스로 축소되고 팩터리 메서드가 각 t에 대해 재정의되는 메서드가 아니라 단일 정적 메서드로 축소되는 일반적인 패턴의 특별한 경우입니다. 그는 가능한 제품 구현을 반환 할 수 있습니다). 기본적으로 작성자는 기본 제품 인스턴스를 반환하며 다른 ConcreteCreator는 이 기본값을 재정의할 수 없습니다. 이 시나리오에서는 ConcreteProduct 구현의 복잡성과 공장 방법의 복합성으로 별도의 작성자 및 제품 계층 구조가 생성됩니다. 위의 암호화 시스템의 경우 이러한 분리는 불필요합니다.

Posted in Uncategorized