1. 단순 공장 모드 Simple Factory Pattern

1780 단어 java 디자인 모드
1. 단순 공장 모델이 무엇인지, 단순 공장 모델은 유형의 창설형 모델에 속하고 정적 공장 방법 모델이라고도 부른다.하나의 클래스를 전문적으로 정의함으로써 다른 클래스의 실례를 만드는 것을 책임진다. 생성된 실례는 일반적으로 공통된 부류를 가지고 있다.2. 모델에 포함된 역할과 직책.공장(Creator) 역할은 단순 공장 모델의 핵심으로 모든 실례를 만드는 내부 논리를 실현한다.공장류는 외부에서 직접 호출되어 필요한 제품 대상을 만들 수 있다.2. 추상(Product) 역할 단순 공장 모델이 만든 모든 대상의 부류는 모든 실례가 공유하는 공공 인터페이스를 묘사한다.3. 구체적인 제품(Concrete Product) 역할 단순 공장 모델이 만든 구체적인 실례 대상 3. 단순 공장 모델의 장단점은 이 모델에서 공장 유형이 전체 모델의 관건이다.이것은 외부가 정한 정보에 따라 어떤 구체적인 유형을 만들어야 하는지를 결정하는 데 필요한 판단 논리를 포함한다.사용자는 이 대상이 어떻게 만들어지고 어떻게 조직되는지 알 필요 없이 공장 클래스에 따라 필요한 실례를 직접 만들 수 있다.전체 소프트웨어 체계 구조의 최적화에 유리하다.
단순한 공장 모델의 단점도 공장 유형에 나타난다. 공장 유형은 모든 실례의 창설 논리를 집중했기 때문에'고내집'분야가 잘 되지 않았다.또한 시스템의 구체적인 제품류가 계속 증가할 때 공장류도 상응하는 수정을 요구할 수 있어 확장성이 좋지 않다.
Fruit.java
public interface Fruit { 
    /* 
     *   
     */ 
    public void get(); 
}

Apple.java
public class Apple implements Fruit{ 
    /* 
     *   
     */ 
    public void get(){ 
        System.out.println(" "); 
    } 
}

Banana.java
public class Banana implements Fruit{ 
    /* 
     *   
     */ 
    public void get(){ 
        System.out.println(" "); 
    } 
}

FruitFactory.java
public class FruitFactory { 

    public static Fruit getFruit(String type) throws InstantiationException, IllegalAccessException, ClassNotFoundException { 

            Class fruit = Class.forName(type); 
            return (Fruit) fruit.newInstance(); 
 
    } 
}

MainClass.java
public class MainClass { 
    public static void main(String[] args) throws InstantiationException, IllegalAccessException, ClassNotFoundException { 
 
        Fruit apple = FruitFactory.getFruit("Apple"); 
        Fruit banana = FruitFactory.getFruit("Banana"); 
        apple.get(); 
        banana.get(); 
    } 
}

좋은 웹페이지 즐겨찾기