一、什么是简单工厂模式
简单工厂模式属于类的创建型模式,又叫做静态工厂方法模式。通过专门定义的一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。
二、模式中包含的角色及其职责
1.工厂角色(Creator)
简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类可以被外界直接调用,创建 所需要的产品对象。
2.抽象角色(Product)
简单工厂模式所创建的所有对象的父类,它负责描述所有实例的公共接口。
3.具体产品角色(Concrete Product)
简单工厂模式所创建的具体实例对象。
代码
工厂角色(Creator)
package com.ma.simpleFactory;
/**
* 工厂角色
*/
public class FruitFactory {
/**
* 获得Apple类的实例
*/
public static Fruit getApple(){
return new Apple();
}
/**
* 获得Banana类的实例
*/
public static Fruit getBanana(){
return new Banana();
}
}
抽象角色(Product)
package com.ma.simpleFactory;
/**
* 抽象角色
*/
public interface Fruit {
/**
* 水果接口
*/
public void get();
}
具体产品角色
package com.ma.simpleFactory;
/**
* 具体产品角色
*/
public class Apple implements Fruit {
@Override
public void get() {
System.out.println("采摘苹果!");
}
}
package com.ma.simpleFactory;
/**
* 具体产品角色
*/
public class Banana implements Fruit {
@Override
public void get() {
System.out.println("采摘香蕉!");
}
}
实现
package com.ma.simpleFactory;
public class MianClass {
public static void main(String[] args) {
Fruit apple = FruitFactory.getApple();
Fruit banana = FruitFactory.getBanana();
apple.get();
banana.get();
}
}
效果