发现自己的基础性的东西还是很差,这几天学习了下工厂模式,记录下
demo1:
Code
public interface Fruit {
//生长
public void grow();
//采摘
public void pick();
}
这种工厂设计模式的缺点:
如果客户(main)要求即可以使用Apple,也可以使用Orange则无法通过这个模式完成
Code
class Apple implements Fruit {
public void grow() {
System.out.println("苹果生长");
}
public void pick() {
System.out.println("摘苹果");
}
}
class Orange implements Fruit {
public void grow() {
System.out.println("橘子生长");
}
public void pick() {
System.out.println("摘橘子");
}
}
class Factory{
public static Fruit getFruitInstance(){
return new Apple();
}
}
public class factoryDemo1 {
public static void main(String args[]){
//以下是以前紧密耦合的工厂使用方法,子类与父类紧紧结合
/**
Fruit f=new Apple();
f.grow();
f.pick();
*/
////////////////////////////////
//下面用上面的类Factory来实现
Fruit f=Factory.getFruitInstance();
f.grow();
f.pick();
/////////////////////////////
}
}