设计模式:简单工厂模式
简单工厂模式是设计模式中最为简单的。主要有三个类,一个抽象类、一个实体类和一个工厂类。工厂类提供一个静态工厂方法,根据传入参数决定返回值。也叫静态工厂模式。对象的创建在工厂方法中进行。
抽象类Phone.java
abstract Phone {
public void display();
}
实体类HuaWeiPhone.java
class HuaWeiPhone{
public void display(){
//具体实现
System.out.print("HuaWeiPhone");
}
}
实体类iPhone.java
class iPhone{
public void display(){
//具体实现
System.out.print("iPhone");
}
}
工厂类PhoneFactory
class PhoneFactory{
public static Phone getPhone(String type){
Phone phone = null;
if("HuaWei".equals(type)){
phone = new HuaWeiPhone();
}else if("Apple".equals(type)){
phone = new iPhone();
}
return phone;
}
}
客户端调用工厂类中的工厂方法即可
class Client{
public static void main(String args[]){
Phone phone = null;
phone = PhoneFactory.getPhone("HuaWei");
phone.display();
}
}
客户端调用可以改造成从配置文件取产品类型。如果要取iPhone
的话,直接把配置文件里面的产品类型改成Apple
就好了,无需修改客户端代码。符合开闭原则
。
(完)