工厂设计模式
根据抽象程度可以分为分为三类:简单工厂模式,工厂方法模式,抽象工厂模式。
1、简单工厂模式:
由抽象产品类,具体产品类和工厂类组成。
在抽象产品类中定义产品的共有特征属性。
在具体产品类中定义某个产品具体的特征。
在工厂类中接收用户输入并与之匹配生成具体的产品对象返回。
示例代码:
抽象产品类
package simple.factory;
public interface Fruit {
void eat();
}
-------------------------------------------------------
---------------------------------------------------------
-------------------------------------------------------
具体产品类
package simple.factory;
public class Banana implements Fruit{
@Override
public void eat() {
System.out.println("我吃香蕉,美滋滋~");
}
}
package simple.factory;
public class Peach implements Fruit {
@Override
public void eat() {
System.out.println("桃子长毛,吃起来不方便,讨厌~");
}
}
--------------------------------------------------------------------
----------------------------------------------------------------------
---------------------------------------------------------------------
工厂类
package simple.factory;
public class Factory {
public Fruit getFruit(String type){
switch(type){
case "Banana":
return new Banana();
case "Peach":
return new Peach();
default:
return null;
}
}
}
--------------------------------------------------------------------
----------------------------------------------------------------------
----------------------------------------------------------