공장 설계 모델 (세 가지) 에 대한 상세 한 설명

5198 단어 Java
https://blog.csdn.net/u014401141/article/details/63287946?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-8.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-8.nonecase
https://www.cnblogs.com/sunpengblog/p/10397986.html
무엇이 공장 설계 모델 입 니까?공장 디자인 모델 은 말 그대로 생산 대상 에 사용 되 는 것 입 니 다. 자바 에서 만물 은 모두 대상 입 니 다. 이런 대상 들 은 모두 만들어 야 합 니 다. 만약 에 만 들 때 new 대상 을 직접 만 들 면 이 대상 에 대한 결합 이 심각 합 니 다. 만약 에 우리 가 대상 을 바 꾸 려 면 모든 new 대상 의 지역 이 수정 해 야 합 니 다. 이것 은 소프트웨어 디자인 의 개폐 원칙 에 위배 되 는 것 이 분명 합 니 다.만약 우리 가 공장 을 사용 하여 생산 대상 을 생산 한다 면 우 리 는 공장 과 만 접촉 하면 된다. 철저하게 대상 과 결합 을 해제 하고 대상 을 바 꾸 려 면 공장 에서 이 대상 을 직접 바 꾸 면 대상 과 결합 을 해제 하 는 목적 을 달성 할 수 있다.그래서 공장 모델 의 가장 큰 장점 은 디 결합 이다.
본 편 은 주로 세 가지 공장 디자인 모델 의 사용 을 소개 한다. 1. 간단 한 공장 2. 공장 방법 3. 추상 적 인 공장
단순 공장 설계 모델
정의: 한 공장 방법 으로 들 어 오 는 매개 변수 에 따라 해당 하 는 제품 대상 을 생 성 합 니 다.역할: 1. 추상 적 인 제품 2. 구체 적 인 제품 3. 구체 적 인 공장 4. 제품 사용자 의 사용 설명: 먼저 제품 류 를 추상적으로 추정한다. 예 를 들 어 사과 와 배 는 모두 과일 에 속 하고 과일 류 Fruit 를 추상적으로 추상적으로 추정한다. 사과 와 배 는 구체 적 인 제품 류 이다. 그 다음 에 과일 공장 을 만들어 각각 사과 와 배 를 만든다.코드 는 다음 과 같 습 니 다:
과일 인터페이스
public interface Fruit {void whatIm ();} 구체 적 인 사과
public class Apple implements Fruit {@ Override public void whatIm () {/ / 사과} 구체 적 인 배
public class Pear implements Fruit {@ Override public void whatIm () {/ / 배} 구체 적 인 공장 과일 공장
public class FruitFactory {
public Fruit createFruit(String type) {

    if (type.equals("apple")) {//    
        return new Apple();
    } else if (type.equals("pear")) {//   
        return new Pear();
    }

    return null;
}

} 제품 사용
FruitFactory mFactory = new FruitFactory(); Apple apple = (Apple) mFactory.createFruit(“apple”);//사과 Pear pear = (Pear) mFactory. createFruit ("pear") 획득 하기; /배 를 얻 으 면 이렇게 간단 한 공장 설계 모델 이 완성 되 는데 무슨 문제 가 있 습 니까?그래, 그럼 내 가 바 나 나 를 먹고 싶다 면 귤 을 먹고 싶다 면? 내 가 만약 에 뭐 든 먹고 싶다 면?그래서 이상 의 이런 방식 은 내 가 과일 을 추가 하고 싶 을 때마다 반드시 공장 류 를 수정 해 야 한다. 이것 은 분명히 개폐 원칙 을 위반 하고 바람 직 하지 않다.그래서 간단 한 공장 은 제품 대상 이 비교적 적 고 제품 의 고정 적 인 수요 에 만 적합 하 며 제품 의 변 덕 스 러 운 수요 에 있어 적당 하지 않다.그래서 우 리 는 다음 방식 을 살 펴 보 자.
공장 방법 설계 모델
정의: 공장 을 하나의 인터페이스 나 추상 류 로 추출 하고 구체 적 으로 어떤 제품 을 생산 하 는 지 는 하위 류 에 의 해 결정 된다.역할: 추상 적 인 제품 류 의 구체 적 인 제품 류 추상 적 인 공장 류 의 구체 적 인 공장 류 사용 설명: 상기 사례 와 마찬가지 로 제품 류 가 추상 화 되 었 다. 이번에 우 리 는 공장 류 도 추상 화하 고 어떤 제품 을 생산 하 는 지 는 하위 류 에 의 해 결정 된다.코드 는 다음 과 같다. 과일 인터페이스 사과 류 와 배 류 코드 는 상례 와 같다.
공장 인터페이스
public interface FruitFactory {Fruit createFruit (); / / 생산 과일} 사과 공장
public class AppleFactory implements FruitFactory {@ Override public Fruit createFruit () {return new Apple ();} 배 공장
public class PearFactory implements FruitFactory {@ Override public Fruit createFruit () {return new Pear ();} 사용
AppleFactory appleFactory = new AppleFactory(); PearFactory pearFactory = new PearFactory(); Apple apple = (Apple) appleFactory.createFruit();//사과 Pear pear = (Pear) pearFactory. createFruit (); /배 이상 을 얻 는 방식 은 결합 을 풀 었 고 개폐 원칙 도 따 랐 지만 문 제 는 해결 되 지 않 았 습 니 다. 국 을 바 꾸 고 약 을 바 꾸 지 않 았 습 니 다. 제 가 필요 로 하 는 제품 이 많 으 면 공장 을 많이 만들어 야 하기 때문에 이런 방식 의 단점 도 뚜렷 합 니 다.
추상 공장 설계 모델
정의: 관련 되 거나 서로 의존 하 는 대상 을 만 들 기 위 한 인 터 페 이 스 를 제공 합 니 다. 구체 적 인 종 류 를 지정 할 필요 가 없습니다.역할: 공장 방법 과 마찬가지 로 추상 적 인 공장 과 공장 방법의 모델 은 대체적으로 같다. 공장 방법 은 구체 적 인 제품 을 생산 하 는 것 이 고 추상 적 인 공장 은 똑 같 고 상대 적 인 관 계 를 가 진 제품 을 생산 할 수 있다.중요 한 것 은 한 조, 한 조, 일련의 것 이다.예 를 들 어 샤 오미 핸드폰 을 생산 하면 샤 오미 핸드폰 은 시리즈 가 많 고 샤 오미 노트, 홍 미 노트 등 이 있다.만약 샤 오미 노트 가 생산 에 필요 한 부품 이 825 프로세서, 6 인치 스크린 이 있 고, 홍 미 는 650 프로세서 와 5 인치 스크린 만 있 으 면 된다.추상 적 인 공장 으로 실현:
cpu 인터페이스 와 구현 클래스
public interface Cpu { void run();
class Cpu650 implements Cpu {
    @Override
    public void run() {
        //625    
    }
}

class Cpu825 implements Cpu {
    @Override
    public void run() {
        //825      
    }
}

} 화면 인터페이스 와 구현 클래스
public interface Screen {
void size();

class Screen5 implements Screen {

    @Override
    public void size() {
        //5 
    }
}

class Screen6 implements Screen {

    @Override
    public void size() {
        //6 
    }
}

} 공장 인터페이스
public interface PhoneFactory {
Cpu getCpu();//   cpu

Screen getScreen();//     

} 구체 적 인 공장 실현 유형: 샤 오미 핸드폰 공장
public class XiaoMiFactory implements PhoneFactory {@ Override public Cpu getCpu () {return new Cpu. cpu 825 (); / 고성능 프로세서}
@Override
public Screen getScreen() {
    return new Screen.Screen6();//6   
}

} 구체 적 인 공장 실현 유형: 홍 미 핸드폰 공장
public class HongMiFactory implements PhoneFactory {
@Override
public Cpu getCpu() {
    return new Cpu.Cpu650();//     
}

@Override
public Screen getScreen() {
    return new Screen.Screen5();//    
}

} 상기 사례 를 통 해 알 수 있 듯 이 추상 적 인 공장 은 일련의 제품 생산 수 요 를 해결 할 수 있 고 대량의 양, 여러 계열 의 제품 에 대해 추상 적 인 공장 으로 더욱 잘 관리 하고 확장 할 수 있다.
세 가지 공장 방식 에 대한 정리: 1. 간단 한 공장 과 공장 방법 에 있어 이들 의 사용 방식 은 실제 적 으로 똑 같 습 니 다. 만약 에 제품 의 분류 와 명칭 이 확정 되면 수량 이 상대 적 으로 고정 되 고 간단 한 공장 모델 을 사용 하 는 것 을 추천 합 니 다.2. 추상 적 인 공장 은 상대 적 으로 복잡 한 문 제 를 해결 하고 일련의 대량의 대상 생산 에 적용 한다.

좋은 웹페이지 즐겨찾기