집 >Java >Java인터뷰 질문들 >2020년 새로운 Java 면접 질문 - 디자인 패턴
단순 팩토리와 추상 팩토리의 차이점은 무엇인가요?
(관련 추천: java 면접 질문)
간단한 팩토리 패턴:
이 패턴 자체는 매우 간단하며 비즈니스가 비교적 단순할 때 사용됩니다. 일반적으로 소규모 프로젝트나 특정 제품이 거의 확장되지 않는 상황(공장 클래스를 자주 변경할 필요가 없도록)에 사용됩니다.
세 가지 역할로 구성됩니다.
공장 역할: 특정 비즈니스 논리와 판단 논리를 포함하는 이 모델의 핵심으로, 다양한 논리를 기반으로 특정 공장 제품이 생산됩니다. 예의 Driver 클래스와 같습니다.
추상 제품 역할: 일반적으로 특정 제품 또는 구현된 인터페이스에서 상속된 상위 클래스입니다. 인터페이스 또는 추상 클래스로 구현됩니다. 예의 Car 인터페이스와 같습니다.
특정 제품 역할: 팩토리 클래스에서 생성된 객체는 이 역할의 인스턴스입니다. 이는 예제의 Benz 및 BMW 클래스와 같은 Java의 구체적인 클래스에 의해 구현됩니다.
(추천 학습: java 입문 프로그램)
클래스 다이어그램을 사용하여 둘 사이의 관계를 명확하게 표현하세요.
추상 팩토리 패턴:
먼저 알아봅시다. 제품군(product family): 다양한 제품 계층에 위치한 관련 기능을 갖춘 제품군입니다.
사진 속 BmwCar와 BenzCar는 두 개의 제품군(제품 계층 구조)이고, 사진 속 BenzSportsCar와 BmwSportsCar는 하나의 제품군입니다. 모두 스포츠카 계열에 배치할 수 있어 기능이 연관되어 있습니다. 마찬가지로 BmwBussinessCar와 BenzBusinessCar도 제품군입니다.
팩토리 메소드 패턴과의 차이점은 객체 생성의 복잡성에 있다고 할 수 있습니다. 게다가 추상 팩토리 패턴은 세 가지 패턴 중에서 가장 추상적이고 일반적입니다. 추상 팩토리 패턴의 목적은 클라이언트에게 여러 제품군에서 제품 개체를 생성할 수 있는 인터페이스를 제공하는 것입니다.
추상 팩토리 패턴을 사용하려면 다음 조건을 충족해야 합니다.
1. 시스템에는 여러 제품군이 있으며 시스템은 한 번에 하나의 제품군만 사용할 수 있습니다.
2. 동일한 제품군을 사용하고 있습니다.
(동영상 튜토리얼 추천: java 동영상 튜토리얼)
추상 팩토리 패턴의 다양한 역할을 살펴보겠습니다(팩토리 메소드와 동일):
추상 팩토리 역할: 이것이 바로 팩토리 메소드 패턴의 핵심은 애플리케이션과 아무 관련이 없습니다. 특정 팩토리 역할이 구현해야 하는 인터페이스이거나 상속되어야 하는 상위 클래스입니다. Java에서는 추상 클래스 또는 인터페이스로 구현됩니다.
특정 팩토리 역할: 특정 비즈니스 로직과 관련된 코드가 포함되어 있습니다. 특정 제품에 해당하는 객체를 생성하기 위해 애플리케이션에서 호출됩니다. 자바에서는 구체적인 클래스로 구현됩니다.
추상 제품 역할: 특정 제품이 상속한 상위 클래스 또는 구현된 인터페이스입니다. Java에는 일반적으로 구현할 추상 클래스 또는 인터페이스가 있습니다.
특정 제품 역할: 특정 팩토리 역할에 의해 생성된 객체는 이 역할의 인스턴스입니다. 이는 Java의 특정 클래스에 의해 구현됩니다.
위 내용은 2020년 새로운 Java 면접 질문 - 디자인 패턴의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!