通过工厂设计模式可降低代码的耦合度.耦合度太高会导致代码不方便维护
就相当于A一直要与B绑定在一起.可以完全参考Java虚拟机的设计思想
程序→JVM→适应不同的操作系统(A->C->B)
现在的客户端不会看见具体的子类,因为所有的接口对象都是通过Factory取得如果日后要扩充新的Fruit子类对象,则只需要修改Factroy类即可,但客户端的调
用不会发生变化
interface Fruit{
public void eat();
}
class Apple implements Fruit{
public void eat(){
System.out.println("吃苹果");
}
}
class Orange implements Fruit{
public void eat(){
System.out.println("吃橘子");
}
}
class Factory{
public static Fruit getInstance(String Name){
if(Name.equals("apple"))
return new Apple();
else if(Name.equals("orange"))
return new Orange();
else
return null;
}
}
public class TestDemo{
public static void main(String[] args) {
Fruit f = Factory.getInstance("orange");
f.eat();
}
}