> Java > Java시작하기 > Java의 추상 팩토리 패턴과 팩토리 메소드 패턴의 차이점

Java의 추상 팩토리 패턴과 팩토리 메소드 패턴의 차이점

王林
풀어 주다: 2019-11-15 16:01:32
원래의
11543명이 탐색했습니다.

Java의 추상 팩토리 패턴과 팩토리 메소드 패턴의 차이점

1. 간단한 팩토리 패턴

특징:

1 인터페이스 추상 클래스가 아닌 구체적인 클래스입니다. if 또는 switch를 사용하여 제품을 생성하고 반환하는 중요한 create() 메서드가 있습니다.

2. create() 메서드는 일반적으로 정적이므로 정적 팩토리라고도 합니다.

단점:

1. 확장성이 좋지 않습니다. (면 종류를 추가하고 싶습니다. 새로운 면 제품 클래스를 추가하는 것 외에도 팩토리 클래스 방법도 수정해야 합니다.)

2. 제품마다 다른 추가 매개변수가 필요한 경우 지원되지 않습니다.

2. 팩토리 메소드 패턴

패턴 설명:

객체 생성을 위한 인터페이스(팩토리 인터페이스)를 제공하고 해당 구현 클래스(팩토리 구현 클래스)가 인스턴스화할 클래스(제품 클래스)를 결정하도록 합니다. 해당 클래스의 인스턴스는 구현 클래스에 의해 생성됩니다.

Model스타일 요소:

제품과 유사한 인터페이스를 제공하세요. 모든 제품 클래스는 이 인터페이스를 구현해야 합니다(추상 클래스, 즉 추상 제품일 수도 있음).

팩토리급 인터페이스를 제공하세요. 모든 팩토리 클래스는 이 인터페이스(즉, 추상 팩토리)를 구현해야 합니다.

제품 클래스의 인스턴스는 팩토리 구현 클래스에 의해 생성됩니다. 팩토리 구현 클래스에는 제품 클래스를 인스턴스화하는 데 사용되는 메서드가 있어야 합니다.

3. 추상 팩토리 패턴

패턴 설명:

구체적인 클래스를 지정하지 않고 관련되거나 상호 의존적인 개체 집합을 생성하기 위한 인터페이스를 제공합니다.

4. 차이점

추상 팩토리 패턴은 팩토리 메소드 패턴의 업그레이드 버전으로 관련되거나 상호 의존적인 개체 집합을 만드는 데 사용됩니다.

팩토리 메소드 패턴과의 차이점은 팩토리 메소드 패턴이 제품 계층 구조를 대상으로 하는 반면 추상 팩토리 패턴은 여러 제품 계층 구조를 대상으로 한다는 것입니다.

프로그래밍에서 제품 구조는 일반적으로 인터페이스 또는 추상 클래스로 표현됩니다. 즉, 팩토리 메소드 패턴에서 제공하는 모든 제품은 동일한 인터페이스 또는 추상 클래스에서 파생되는 반면 추상 팩토리 패턴에서 제공되는 제품은 다른 인터페이스나 추상 클래스에서 파생됩니다.

추상 팩토리 패턴에는 제품군 개념이 있습니다. 소위 제품군은 다양한 제품 계층 구조에 위치한 기능적으로 관련된 제품군을 의미합니다. 추상 팩토리 패턴에 의해 제공되는 일련의 제품은 제품군을 구성하는 반면, 팩토리 메소드에 의해 제공되는 일련의 제품은 계층 구조라고 합니다.

추천 튜토리얼: Java 튜토리얼

위 내용은 Java의 추상 팩토리 패턴과 팩토리 메소드 패턴의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿