이 기사에서는 Java 디자인 패턴의 공장 방법 모델에 대해 설명합니다. 다음과 같이 참조에 대해 공유하십시오.
공장 방법 모델은 매우 자주 사용되며 항상 우리의 일상 개발에서 볼 수 있습니다. 객체를 생성하기위한 인터페이스를 정의하지만 서브 클래스가 어떤 클래스를 인스턴스화 할 것인지 결정하게하십시오. 공장 방법은 서브 클래스로 지연된 클래스의 인스턴스화입니다.
공장 방법 모델의 장점 :
1. 양호한 캡슐화 및 명확한 코드 구조. 객체 생성은 조건부 제약 조건입니다. 호출자가 특정 제품 객체가 필요합니다. .
2. 공장 방법 모델은 확장 성이 우수합니다. 제품 범주를 추가 할 때 특정 공장 범주를 적절하게 수정하거나 공장 범주를 확장하는 한 "Embrace Change"를 완료 할 수 있습니다.
3. 제품 카테고리 차단. 이는 매우 중요합니다. 발신자는 제품 클래스의 구현이 어떻게 변하지 않는 한, 시스템의 상위 수준 모듈만으로도 신경을 쓸 필요가 없습니다. 변화. 제품 클래스의 인스턴스화는 공장 클래스의 책임이므로 제품 객체의 특정 제품 생성은 공장 클래스에 의해 결정됩니다.
4. 공장 방법 모델은 전형적인 분리 프레임 워크입니다. . 높은 수준의 모듈은 다른 구현 클래스에 대한 추상적 인 클래스를 알고 있어야합니다 의존성 반전의 원리는 물론 제품의 추상 클래스에만 의존합니다.
공장 방법 패턴의 공통 코드는 다음과 같습니다.
// 초록 제품 클래스 공개 초록 클래스 제품 {// 제품 클래스의 공개 메소드 공개 void method1 () {// 비즈니스 로직 프로세싱} // 초록 방법 public Abstract void method2 ();}추상 제품 범주에서 상속 된 여러 특정 제품 범주가있을 수 있으며 소스 코드는 다음과 같습니다.
// 특정 제품 범주 공개 클래스 ConcreTeProduct1은 제품 확장 제품 {public void method2 () {// 비즈니스 로직 프로세싱}} public class concreteproduct2 확장 제품 {publ ic void method2 () {// 비즈니스 로직 프로세싱}}추상 공장 클래스는 제품 객체 생성을 정의 할 책임이 있으며 소스 코드는 다음과 같습니다.
// 초록 공장 클래스 공개 초록 클래스 제작자 {/***입력 매개 변수 유형을 직접 설정할 수있는 제품 클래스를 만듭니다. t CreateProdu CT (클래스 <T> CLS);}제품 객체를 생성하는 방법은 특정 공장 클래스에서 구현되며 소스 코드는 다음과 같습니다.
// 특정 공장 클래스 CONCTETECREATOR는 Createor {CreateProduct (Class <T> CLS)를 확장합니다. )} catch (예외 e) {// 예외 처리} return}}.장면 클래스의 호출 방법은 다음과 같습니다.
// public static void main (string [] args) {creator = new ConcreteCreator (); }일반 코드를 변경하는 것은 비교적 실용적이고 확장하기 쉬운 프레임 워크이며 실제 프로젝트 요구에 따라 리더가 확장 할 수 있습니다.
이 기사가 모든 사람의 Java 프로그래밍에 도움이되기를 바랍니다.