在设计模式中,工厂模式有三种形式:简单工厂模式、工厂方法模式、抽象工厂模式。三种形式核心的角色都是工厂类。
简单工厂模式定义:简单工厂模式又叫静态工厂方法模式,它根据传入的参数返回所需要的对象,而不需要知道具体类的名字。
package DesignMode.factory;
public interface TV {
void play();
}
package DesignMode.factory;
public class TCLTV implements TV {
@Override
public void play() {
System.out.println("我是TCL 电视啦!");
}
}
package DesignMode.factory;
public class XiaomiTV implements TV {
@Override
public void play() {
System.out.println("我是小米TV啦!");
}
}
public class FactoryTV {
public static TV getTV(String TVName) {
if ("xiaomi".equals(TVName)) {
return new XiaomiTV();
}
if ("TCL".equals(TVName)) {
return new TCLTV();
} else return null;
}
public static void main(String[] args) {
TV xiaomi = FactoryTV.getTV("xiaomi");
xiaomi.play();;
}
}
模式优缺点:
(1)优点:对象的创建和对象的使用分离,对象的创建由专门的工厂类完成。
(2)缺点:工厂类包含了所有产品的创建逻辑,一旦出现问题,整个系统将不能工作;产品数量太多会导致工厂类过于复杂,不利于系统的扩展和维护;静态工厂方法使得工厂类不能很好地利用继承的特性。
网友评论