23 가지 디자인 모델 의 공장 디자인 모델
19196 단어 디자인 모드
무엇이 공장 설계 모델 입 니까?
공장 디자인 모델 은 말 그대로 생산 대상 에 사용 되 는 창설 형 디자인 모델 이다.대상 을 대상 으로 하 는 언어 에서 만물 은 모두 대상 이다. 이런 대상 들 은 모두 만들어 야 한다. 만약 에 만 들 때 new 대상 을 직접 만 들 면 이 대상 에 대한 결합 이 심각 하 다. 만약 에 우리 가 대상 을 바 꾸 려 면 모든 new 대상 의 부분 을 수정 해 야 한다. 이것 은 소프트웨어 가 설정 한 개폐 원칙 에 위배 된다. 만약 에 우리 가 공장 을 사용 하여 대상 을 생산 한다 면우 리 는 공장 과 만 접촉 하면 됩 니 다. 대상 과 의 결합 을 철저히 해제 하고 대상 을 바 꾸 려 면 공장 에서 이 대상 을 직접 바 꾸 면 됩 니 다. 대상 과 의 결합 을 해제 하 는 목적 을 달성 할 수 있 습 니 다.그래서 공장 모델 의 가장 큰 장점 은 디 결합 이다.
공장 모델 은 또 세 가 지 를 포함한다.
단순 공장
공장 방법
추상 공장
단순 공장 설계 모델
정의: 공장 방법, 생존 대상.
캐릭터:
추상 제품
구체 적 인 제품
구체 적 공장
제품 사용자
공장 모델 은 특정한 대상 을 만 드 는 공장 이기 때문에 먼저 추상 적 인 제품 이 필요 하 다. 예 를 들 어 사과, 귤 은 모두 과일 에 속 하기 때문에 우 리 는 먼저 과일 류 를 추상 화하 고 과일 공장 을 정의 하여 서로 다른 과일 을 생산 할 수 있다.
과일 인터페이스:
public interface Fruit{
void eat(); //
}
사과 나 귤
public class Apple implement Fruit{
@Override
void eat(){
System.out.print(" ");
}
}
public class Orange implement Fruit{
@Override
void eat(){
System.out.print(" ");
}
}
세부 공장: 과일 공장 류
public class FruitFactory{
//
public static Fruit createFruit(String type){
switch(type){
case 'apple':
return new Apple();
break;
case 'orange':
return new Orange();
break;
// ...
default:
System.out.print(" ");
}
}
}
제품 사용:
Apple apple = (Apple)FruitFactory.createFruit("apple");
apple.eat();//
이상 은 간단 한 공장 모델 로 그 사상 은 바로 류 의 설립 을 공장 에 맡 기 고 특정한 유형 이 필요 할 때 공장 에서 찾 는 것 이다.간단 한 공장 모델 은 간단 하지만 단점 이 있다. 바로 내 가 새로운 과일 제품 을 생산 해 야 할 때 공장 을 수정 해 야 한 다 는 것 이다. 이것 은 6 대 설계 원칙 의 개폐 원칙 을 위반 한 것 이 분명 하 다.
이 문 제 를 해결 하기 위해 우 리 는 두 번 째 공장 모델 을 소개 한다.
공장 방법 설계 모델
정의: 공장 을 하나의 인터페이스 나 추상 류 로 추출 하고 구체 적 으로 어떤 제품 을 생산 하 는 지 는 하위 류 에 의 해 결정 된다.
캐릭터:
추상 제품
구체 적 인 제품
추상 공장
구체 적 공장
간단 한 공장 류 와 마찬가지 로 우 리 는 제품 을 추상 화하 고 과일 류 도 사용 해 야 한다. 이번에 우 리 는 공장 도 추상 화하 고 구체 적 으로 무엇 을 생산 하 는 지 는 하위 류 에 의 해 결정 된다.
과일 인터페이스, 사과 류, 귤 류 생략.
공장 인터페이스
public interface FruitFactory{
Fruit createFruit();//
}
애플 공장
public AppleFactory implements FruitFactory{
@Override
Fruit createFruit(){
return new Apple();
}
}
//
public OrangeFactory implements FruitFactory{
@Override
Fruit createFruit(){
return new Orange();
}
}
제품 을 사용 하 다
AppleFactory af=new AppleFactory();
Apple apple = af.createFruit();
이상 의 방식 은 결합 을 풀 었 고 개폐 원칙 도 지 켰 지만 문 제 는 해결 되 지 않 았 습 니 다. 국 을 바 꾸 고 약 을 바 꾸 지 않 았 습 니 다. 제 가 필요 한 제품 이 많 으 면 공장 을 많이 만들어 야 하기 때문에 이런 방식 의 단점 도 뚜렷 합 니 다.그래서 우 리 는 마지막 공장 모델 을 다시 보 았 다.
추상 공장 설계 모델
정의: 관련 되 거나 서로 의존 하 는 대상 을 만 들 기 위 한 인 터 페 이 스 를 제공 합 니 다. 구체 적 인 종 류 를 지정 할 필요 가 없습니다.캐릭터:
추상 제품
구체 적 인 제품
추상 공장
구체 적 공장
추상 적 인 공장 과 공장 방법의 모델 은 대체적으로 같다. 차이 점 은 공장 방법 은 구체 적 인 제품 을 생산 하 는 것 이 고 추상 적 인 공장 은 똑 같 고 상대 적 인 관 계 를 가 진 제품 을 생산 할 수 있다 는 것 이다.중요 한 것 은 한 조, 한 조, 일련의 것 이다.예 를 들 어 샤 오미 핸드폰 (실수 로 샤 오미 에 게 광 고 를 했 습 니 다 ~) 을 생산 하면 샤 오미 핸드폰 은 시리즈 가 많 습 니 다. 샤 오미 노트, 홍 미 노트 등 이 있 습 니 다.만약 샤 오미 노트 가 생산 에 필요 한 부품 이 825 프로세서, 6 인치 스크린 이 있 고, 홍 미 는 650 프로세서 와 5 인치 스크린 만 있 으 면 된다.추상 적 인 공장 으로 실현:
cpu 인터페이스 와 구현 클래스
public interface Cpu {
void run();
class Cpu650 implements Cpu {
@Override
public void run() {
System.out.print("650cpu ");
}
}
class Cpu825 implements Cpu {
@Override
public void run() {
System.out.print("825cpu ");
}
}
}
화면 인터페이스 와 구현 클래스
public interface Screen {
void size();
class Screen5 implements Screen {
@Override
public void size() {
System.out.print("5 ");
}
}
class Screen6 implements Screen {
@Override
public void size() {
System.out.print("6 ");
}
}
}
공장 인터페이스
public interface PhoneFactory {
Cpu getCpu();// cpu
Screen getScreen();//
}
구체 적 인 공장 실현 유형: 샤 오미 핸드폰 공장 류
public class XiaoMiFactory implements PhoneFactory {
@Override
public Cpu getCpu() {
return new Cpu825();//
}
@Override
public Screen getScreen() {
return new Screen6();//6
}
}
구체 적 인 공장 실현 유형: 홍 미 핸드폰 공장 류
public class HongMiFactory implements PhoneFactory {
@Override
public Cpu getCpu() {
return new Cpu650();//
}
@Override
public Screen getScreen() {
return new Screen5();//
}
}
현 재 는 두 가지 cpu 와 두 가지 스크린 을 임의로 조합 하여 해당 하 는 성능 의 핸드폰 을 얻 을 수 있다. 상기 예 를 들 어 추상 적 인 공장 은 일련의 제품 생산 수 요 를 해결 할 수 있 고 대량의 양, 여러 계열 의 제품 에 대해 추상 적 인 공장 으로 더욱 잘 관리 하고 확장 할 수 있다.
총결산
1. 간단 한 공장 과 공장 방법 에 있어 이들 의 사용 방식 은 실제 적 으로 똑 같 습 니 다. 만약 에 제품 의 분류 와 명칭 이 확정 되면 수량 이 상대 적 으로 고정 되 고 간단 한 공장 모델 을 사용 하 는 것 을 추천 합 니 다.2. 추상 적 인 공장 은 상대 적 으로 복잡 한 문 제 를 해결 하고 일련의 대량의 대상 생산 에 적용 한다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
디자인 모델 의 공장 모델, 단일 모델자바 는 23 가지 디자인 모델 (프로 그래 밍 사상/프로 그래 밍 방식) 이 있 습 니 다. 공장 모드 하나의 공장 류 를 만들어 같은 인 터 페 이 스 를 실현 한 일부 종 류 를 인 스 턴 스 로 만 드 는 것...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.