(2) 工廠方法模式
海爾工廠(Haier)生產海爾空調(HaierAirCondition),美的工廠(Midea)生產美的空調(MideaAirCondition) 。使用工廠方法模式描述該場景,繪製類圖並編程實現。
public interface AirCondition{
void work();
}
public interface AirConditionFactory{
AirCondition produceAirCondition();
}
public class HaierAirCondition implements AirCondition{
public void work(){
System.out.println("HaierAirCondition is working! -_-!!!");
}
}
public class MideaAirCondition implements AirCondition{
public void work(){
System.out.println("MideaAirCondition is working -_-~~~");
}
}
public class HaierAirConditionFactory implements AirConditionFactory{
public HaierAirCondition produceAirCondition(){
System.out.println("HaierAirCondition produced! *^_^*");
return new HaierAirCondition();
}
}
public class MideaAirConditionFactory implements AirConditionFactory{
public MideaAirCondition produceAirCondition(){
System.out.println("MideaAirCondition produced! *^_^*");
return new MideaAirCondition();
}
}
public class AirConditionClient{
public static void main(String[] args){
AirCondition haierCondition, mideaCondition;
AirConditionFactory haierConditionFactory = new HaierAirConditionFactory();
AirConditionFactory mideaConditionFactory = new MideaAirConditionFactory();
haierCondition = haierConditionFactory.produceAirCondition();
mideaCondition = mideaConditionFactory.produceAirCondition();
haierCondition.work();
System.out.println();
mideaCondition.work();
}
}
運行結果: