디자인 모델 - 공장 모델 (3)

간단 한 소개
공장 창설 대상 을 사용 합 니 다. 창설 에 관심 을 갖 지 않 고 공통 속성 만 생 성 할 수 있 는 대상 을 만 듭 니 다. 공장 창설 대상 의 주요 모듈:
추상 공장
추상 제품
실제 공장
실제 제품
예시
추상 공장
//    
public interface PhoneFactory {
    //    
    PhoneProduct newPhone();
}

추상 제품
//    
public interface PhoneProduct {
    //           
    void call();
}

리 얼 공장 (애플 공장)
//             
public class AppleFactory implements PhoneFactory {
    @Override
    public PhoneProduct newPhone() {
        return new ApplePhone();
    }
}

리 얼 공장 (삼 성 공장)
public class SumFactory implements PhoneFactory {
    @Override
    public PhoneProduct newPhone() {
        return new SumPhone();
    }
}

리 얼 제품 (아이 폰)
//    ,        
public class ApplePhone implements PhoneProduct {
    @Override
    public void call() {
        System.out.println("this is ApplePhone Call。。。。。。。。。");
    }
}

리 얼 상품 (삼 성 폰)
public class SumPhone implements PhoneProduct {
    @Override
    public void call() {
        System.out.println("this is SumPhone Call ..........");
    }
}

테스트
public class Main {
    public static void main(String[] args) {
        //    
        AppleFactory appleFactory = new AppleFactory();
        PhoneProduct phone1 = appleFactory.newPhone();
        phone1.call();//this is ApplePhone Call。。。。。。。。。

        //    
        SumFactory sumFactory = new SumFactory();
        PhoneProduct phone2 = sumFactory.newPhone();
        phone2.call();//this is SumPhone Call ..........
    }
}

좋은 웹페이지 즐겨찾기