디자인 모델 의 공장 모델 2

2460 단어
더 읽 기
간단 한 공장 모델 을 소개 하 는 전편 에 서 는 구체 적 인 과일 대상 이 생기 려 면 반드시 FriutFactory 같은 종류 에서 만들어 져 야 한 다 는 것 을 잘 알 고 있다.이 종 류 는 과일의 공장 이다.이 과일 자체 가 추상 적 인 개념 이다.구체 적 인 과일 이 증가 하고 풍부 해 지면 서 FriutFactory 라 는 종 류 를 바 꾸 는 것 이 빈번 할 것 으로 보인다.그래서 공장 디자인 모델 은 간단 한 공장 디자인 모델 에서 다시 한 번 추상 적 이다.이번 추상 은 구체 적 인 과일 에 따라 추상 화 될 것 이다.예 를 들 어 애플 은 애플 공장 류 를 설계 하고 이 애플 공장 류 는 애플 대상 을 만 드 는 데 사용 된다.현실 적 으로 업무 분업 의 세분 화 와 연계 되 는 것 도 마찬가지다.
  다음은 바로 소스 코드 를 보 겠 습 니 다.

//    
public interface Fruit {
	/*
	 *     
	 */
	public void get();
}

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

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


//       
public interface FruitFactory {
	public Fruit getFruit();
}

//     ,           
public class AppleFactory implements FruitFactory {

	public Fruit getFruit() {
		return new Apple();
	}

}
//     ,           
public class BananaFactory implements FruitFactory {

	public Fruit getFruit() {
		return new Banana();
	}

}

이 과수원 에서 최신 으로 자 두 를 재배 한다 면.상기 코드 는 변경 이 필요 없 이 다음 코드 만 추가 하면 됩 니 다.

//   
public class Pear implements Fruit {

	public void get() {
		System.out.println("    ");
	}

}


//         ,              
public class PearFactory implements FruitFactory {

	public Fruit getFruit() {
		return new Pear();
	}
}


클 라 이언 트 엔 드 코드

public class Client{
	public static void main(String[] args) {
		//   AppleFactory
		FruitFactory ff = new AppleFactory();
		
		Fruit apple = ff.getFruit();
		apple.get();
		
	
		FruitFactory ff2 = new BananaFactory();
		Fruit banana = ff2.getFruit();
		banana.get();
		
	
		FruitFactory ff3 = new PearFactory();
		Fruit pear = ff3.getFruit();
		pear.get();
	}
}

이상 코드 는 클래스 공장 모델 을 실현 합 니 다.너 는 간단 한 공장 모델 과 공장 모델 을 비교 해서 이해 할 수 있다.공장 모델 은 더욱 확장 성 을 가지 고 있다.동시에 그것 은 기 존 코드 에 대해 거의 변동 이 없다.

좋은 웹페이지 즐겨찾기