디자인 모델 --- 간단 한 공장 모델 (학습 노트)
3473 단어 단순 공장 모드
먼저 코드 를 보고 코드 에서 이 프로 그래 밍 습관 을 이해 하 세 요.
피 자 를 만 드 는 예 를 들 어:
피자 종류 코드:
상세 한 피자 치즈 피자:
상세 한 피자 클 램 피자:
public interface Pizza {
void prepare();
void box();
void bake();
void cut();
}
간단 한 공장 피로:피자 주문 류 피자 가게:
public class CheesePizza implements Pizza {
private String tag="CheesePizza:";
@Override
public void prepare() {
System.out.println(tag+"pripare()");
}
@Override
public void box() {
System.out.println(tag+"box()");
}
@Override
public void bake() {
System.out.println(tag+"bake()");
}
@Override
public void cut() {
System.out.println(tag+"cut()");
}
}
테스트 코드:public class ClamPizza implements Pizza {
private String tag="ClamPizza:";
@Override
public void prepare() {
System.out.println(tag+"pripare()");
}
@Override
public void box() {
System.out.println(tag+"box()");
}
@Override
public void bake() {
System.out.println(tag+"bake()");
}
@Override
public void cut() {
System.out.println(tag+"cut()");
}
}
인쇄 결과:4. 567913. 코드 에서 알 수 있 듯 이 대상 을 만 들 기 전에 사실은 대상 의 공동 조작 방법 을 추상 화하 고 앞으로 대상 의 확장 을 위해 준비 할 수 있다. 이 인 터 페 이 스 는 인터페이스 류 나 추상 류 이 고 상세 한 서브 클래스 에서 실현 되 거나 계승 할 수 있다.그러나 간단 한 공장 안의 방법 에 대해 서 는 어떤 상세 한 대상 을 만 드 는 지 만 확인한다.
비교적 통용 되 는 공장 모델 프레임 워 크 코드 를 보십시오.
추상 적 인 제품 종류:
상세 제품
public class SimplePizzaFactory {
public Pizza createPizza(String tpye){
Pizza pizza = null;
if (tpye.equals("cheese")){
pizza=new CheesePizza();
}else if (tpye.equals("clam")){
pizza=new ClamPizza();
}
return pizza;
}
}
추상 공장 클래스:상세 공장 종류:
public class PizzaStore {
SimplePizzaFactory simplePizzaFactory;
protected PizzaStore(SimplePizzaFactory simplePizzaFactory) {
this.simplePizzaFactory = simplePizzaFactory;
}
protected final Pizza orderPizza(String type){
// Pizza pizza=pizzafactory.createP(type);
Pizza pizza=simplePizzaFactory.createPizza(type);
pizza.prepare();
pizza.bake();
pizza.cut();
pizza.box();
return pizza;
}
}
상세 코드 테스트 클래스: public static void main(String[] args){
PizzaStore chijiaPizzaStore=new PizzaStore(new SimplePizzaFactory());
chijiaPizzaStore.orderPizza("cheese");
chijiaPizzaStore.orderPizza("clam");
}
하나의 모듈 이 하나의 공장 류 만 필요 하 다 고 가정 하면 이 를 생산 할 필요 가 없다. 정태 적 인 방법 을 사용 하면 된다. 상기 추상 적 인 공장 류 를 상세 한 공장 류 로 직접 교체 하고 정태 적 인 방법 을 사용 하면 간단 한 공장 모델 이나 정태 적 인 공장 모델 로 바 꿀 수 있다.잘 쓰 지 못 했 습 니 다. 의견 을 많이 제시 하고 함께 공부 하 기 를 바 랍 니 다!감사합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
디자인 모델 --- 간단 한 공장 모델 (학습 노트)간단 한 공장 은 사실상 디자인 모델 이 아니 라 프로 그래 밍 습관 과 비슷 합 니 다! 먼저 코드 를 보고 코드 에서 이 프로 그래 밍 습관 을 이해 하 세 요. 코드 에서 알 수 있 듯 이 대상 을 만 들 기 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.