Java java지도 시간 Java에서 간단한 팩토리 패턴 학습

Java에서 간단한 팩토리 패턴 학습

Oct 13, 2017 am 10:16 AM
java 공부하다 모델

이 글은 주로 Java 디자인 패턴 학습에서 간단한 팩토리 패턴을 자세히 소개합니다. 관심 있는 친구들은 참고할 수 있습니다.

간단한 팩토리 패턴

간단한 팩토리 패턴은 생성 패턴이라고도 합니다. Static Factory Method 패턴이지만 23가지 GOF 디자인 패턴 중 하나가 아닙니다. 단순 팩토리 패턴은 팩토리 객체를 사용하여 생성할 제품 클래스 인스턴스를 결정합니다. 단순 팩토리 패턴은 팩토리 패턴 계열 중 가장 단순하고 실용적인 패턴으로, 다양한 팩토리 패턴을 특수하게 구현한 것으로 이해될 수 있습니다.

간단한 팩토리 패턴을 사용하여 계산기를 디자인합니다.

1: 연산 클래스를 생성합니다


package EasyFactoryModel;

abstract class Operation {

  public double num1=0;
  public double num2=0;
  public double getNum1() {
    return num1;
  }
  public void setNum1(double num1) {
    this.num1 = num1;
  }
  public double getNum2() {
    return num2;
  }
  public void setNum2(double num2) {
    this.num2 = num2;
  }
  
  public abstract double getResult();
}
로그인 후 복사

2: 덧셈 클래스를 생성합니다.


class OpeartionAdd extends Operation {

  public double getResult(){
    double result=0;
    result=num1+num2;
    return result;
  }
}
로그인 후 복사

3: 빼기 클래스를 만듭니다.


public class OpeartionSub extends Operation {
 
  public double getResult(){
    double result=0;
    result=num1-num2;
    return result;
  }
}
로그인 후 복사

4: 곱셈 수업을 만들어보세요.


public class OperationMul extends Operation {

  public double getResult(){
    double result=0;
    result=num1*num2;
    return result;
  }
}
로그인 후 복사

5: 디비전 클래스를 만듭니다.


public class Operationp extends Operation {
 
  public double getResult(){
    double result=0;
    result=num1/num2;
    return result;
  }
}
로그인 후 복사

6: 기본 연산 클래스를 완료한 후에는 필요한 덧셈, 뺄셈, 곱셈 및 나눗셈에 따라 다양한 클래스를 인스턴스화해야 한다는 것을 알게 됩니다.


public class OperationFactory {
 
  public static Operation creatOpera(String operation){
     
    Operation oper=null;
    switch(operation){
     
    case "+":oper=new OpeartionAdd();break;
    case "-":oper=new OpeartionSub();break;
    case "*":oper=new OperationMul();break;
    case "/":oper=new Operationp();break;
     
    }
    return oper;
  }
 
}
로그인 후 복사

팩토리 클래스는 다양한 작업에 따라 다양한 객체를 생성합니다. 여기에는 다형성이 사용됩니다.

7 어떤 특정 클래스 객체를 만들어야 할까요? 간단한 팩토리 패턴을 구현하면 필요한 정보만 전달되기만 하면 사용자는 객체가 어떻게 생성되는지 알 필요가 없습니다.

단점: 팩토리 클래스는 모든 인스턴스의 생성 논리를 중앙 집중화하여 높은 응집력 할당 원칙을 위반합니다.

시스템의 특정 제품 카테고리가 계속 증가함에 따라 공장 카테고리를 지속적으로 수정해야 하며 유지 및 확장이 어렵습니다. 동시에 이는 개방과 폐쇄의 원칙에도 위배됩니다.

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

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

자바의 제곱근 자바의 제곱근 Aug 30, 2024 pm 04:26 PM

자바의 제곱근

자바의 완전수 자바의 완전수 Aug 30, 2024 pm 04:28 PM

자바의 완전수

Java의 난수 생성기 Java의 난수 생성기 Aug 30, 2024 pm 04:27 PM

Java의 난수 생성기

자바의 암스트롱 번호 자바의 암스트롱 번호 Aug 30, 2024 pm 04:26 PM

자바의 암스트롱 번호

자바의 웨카 자바의 웨카 Aug 30, 2024 pm 04:28 PM

자바의 웨카

Java의 스미스 번호 Java의 스미스 번호 Aug 30, 2024 pm 04:28 PM

Java의 스미스 번호

Java Spring 인터뷰 질문 Java Spring 인터뷰 질문 Aug 30, 2024 pm 04:29 PM

Java Spring 인터뷰 질문

Java 8 Stream foreach에서 나누거나 돌아 오시겠습니까? Java 8 Stream foreach에서 나누거나 돌아 오시겠습니까? Feb 07, 2025 pm 12:09 PM

Java 8 Stream foreach에서 나누거나 돌아 오시겠습니까?

See all articles