>Java >java지도 시간 >Java의 팩토리 패턴에 대한 자세한 소개

Java의 팩토리 패턴에 대한 자세한 소개

王林
王林앞으로
2019-11-25 17:45:252557검색

Java의 팩토리 패턴에 대한 자세한 소개

팩토리 패턴 분류:

1) Simple Factory 패턴(Simple Factory)

2) Factory Method Pattern(Factory Method)

3) Abstract Factory Pattern(Abstract Factory)

추천 관련 비디오 튜토리얼: java 학습

간단한 팩토리 패턴

간단한 팩토리 패턴은 정적 팩토리 메서드 패턴이라고도 합니다. 이름 변경을 보면 이 모드가 매우 간단하다는 것을 알 수 있습니다. 그 목적은 간단합니다. 객체를 생성하기 위한 인터페이스를 정의하는 것입니다.

1) 팩토리 역할: 이 모델의 핵심이며 특정 비즈니스 로직과 판단 로직을 포함합니다. 자바에서는 종종 구체적인 클래스로 구현됩니다.

2) 추상 제품 역할: 일반적으로 특정 제품에 의해 상속된 상위 클래스 또는 구현된 인터페이스입니다. Java에서는 인터페이스나 추상 클래스로 구현됩니다.

3) 특정 제품 역할: 팩토리 클래스에서 생성된 객체는 이 역할의 인스턴스입니다. Java의 구체적인 클래스로 구현됩니다.

추상 팩토리 패턴:

추상 팩토리 패턴의 목적은 클라이언트가 여러 제품군의 제품 개체를 생성할 수 있는 인터페이스를 제공하는 것입니다.

그리고 추상 팩토리 패턴을 사용하려면 다음 조건을 충족해야 합니다. :

1) 시스템에는 여러 제품군이 있으며, 시스템은 한 번에 하나의 제품군만 소비할 수 있습니다.

2) 동일한 제품군에 속하는 제품은 그에 맞게 사용해야 합니다.

추상 팩토리 패턴의 다양한 역할(팩토리 메소드와 동일):

1) 추상 팩토리 역할: 팩토리 메소드 패턴의 핵심으로, 애플리케이션과는 아무런 관련이 없습니다. 특정 팩토리 역할이 구현해야 하는 인터페이스이거나 상속되어야 하는 상위 클래스입니다. 자바에서는 추상 클래스나 인터페이스로 구현됩니다.

코드 프리젠테이션:

实例:面条工厂 实现工厂模式
···

다음은 일부 누들 코드 조각을 보여줍니다

package am2;

public class Daoxiaomian extends Miantiao{
	
	public void show(){
		System.out.println("我生产刀削面");
	}

}

다음은 일부 팩토리 패턴 코드 조각을 보여줍니다.

package am2;
/**
 * 工厂模式
 * @author hadoop
 *
 */
public class Factory {

	public static final String XIMIANTIAO="ximiantiao";
	public static final String KUANMIANTIAO="kuanmiantiao";
	public static final String DAOXIAOMIAN="daoxiaomian";
	
	public static Miantiao getMiantiao(String name){
		Miantiao miantiao = new Miantiao();
		switch(name){
		case "ximiantiao":
			miantiao =  new Ximiantiao();
			break;
		case "kuanmiantiao":
			miantiao =  new Kuanmiantiao();
			break;
		case "daoxiaomian":
			miantiao =  new Daoxiaomian();
			break;
		}
		return miantiao ;
	}

}

다음은 일부 라자냐 코드 조각을 보여줍니다.

package am2;

public class Kuanmiantiao extends Miantiao{
	
	public void show(){
		System.out.println("我生产宽面条");
	}

}

다음은 일부 인스턴스화 코드 조각을 보여줍니다

package am2;
public class Miantiao {
public  void show(){
}
}

The 다음은 일부 스파게티 코드 조각을 보여줍니다.

package am2;

public class Ximiantiao extends Miantiao{
	
	public void show(){
		System.out.println("我生产细面条");
	}

}

다음은 공장 모드 테스트 코드 조각입니다. 공장 코드조각에서 다양한 면을 받아보세요

package am2;
/**
 * 工厂模式,我想从工厂获取到各种面条
 * 
 * @author hadoop
 *
 */
public class Test {

	public static void main(String[] args) {
		Miantiao miantiao = Factory.getMiantiao(Factory.XIMIANTIAO);
		miantiao.show();
		Miantiao miantiao1 = Factory.getMiantiao(Factory.KUANMIANTIAO);
		miantiao1.show();
		Miantiao miantiao2 = Factory.getMiantiao(Factory.DAOXIAOMIAN);
		miantiao2.show();

	}

}

추천 관련 글: 자바 언어 입문

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

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제