가상 공장 - 간단한 설명
1782 단어 java 디자인 모드
해당되는 경우:
1. 하나의 시스템이 제품의 생성, 조합 및 표현에 독립해야 할 때.2. 여러 제품 라인 중 하나로 시스템을 구성해야 하는 경우3. 연합 사용을 위해 일련의 관련 제품 대상의 디자인을 강조해야 할 때.4. 제품 라이브러리를 제공하고 인터페이스만 표시하고 싶을 때.
interface IAnimalFactory{
ICat createCat();
IDog createDog();
}
class BlackAnimalFactory implements IAnimalFactory{
public ICat createCat(){
return new BlackCat();
}
public IDog createDog(){
return new BlackDog();
}
}
class WhiteAnimalFactory implements IAnimalFactory{
public ICat createCat(){
return new WhiteCat();
}
public IDog createDog(){
return new WhiteDog();
}
}
interface ICat{
void eat();
}
interface IDog{
void eat();
}
class BlackCat implements ICat{
public void eat() {
System.out.println("Black cat is eating");
}
}
class WhiteCat implements ICat{
public void eat(){
System.out.println("White cat is eating ");
}
}
class BlackDog implements IDog{
public void eat() {
// TODO Auto-generated method stub
System.out.println("Black dog is eating");
}
}
class WhiteDog implements IDog{
public void eat(){
System.out.println("White dog is eating ");
}
}
public class AbstractFactory {
public static void main(String[] args) {
IAnimalFactory blackAnimalFactory = new BlackAnimalFactory();
ICat blackCat = blackAnimalFactory.createCat();
blackCat.eat();
blackAnimalFactory.createDog().eat();
IAnimalFactory whiteAnimalFactory = new WhiteAnimalFactory();
whiteAnimalFactory.createCat().eat();
whiteAnimalFactory.createDog().eat();
}
}
결과:
Black cat is eating Black dog is eating White cat is eating White dog is eating
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
어댑터(클래스 어댑터, 객체 어댑터 모드)1: 클래스 어댑터 모드 만일 우리가 Person류가 있다면, 이 Person류에는 불고 당기는 방법이 있다.시스템 개발의 절반에 이르러 우리는 이 종류에 두 가지 방법을 더 첨가하여 연주, 당기기, 연주, 노래의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.