工厂方法(Factory Method)
来源:互联网 发布:淘宝关闭订单规则 编辑:程序博客网 时间:2024/04/26 23:26
前言:工厂方法模式通过抽象工厂类约定了一个创建对象的接口,并由抽象工厂的子类决定实际生产的对象。
栗子
场景描述
一家企业特别热衷于生产事物,就通过抽象类的形式(FoodFactory)约定了将来子孙创建工厂时必须遵循的模式,即每个子工厂都必须生产食物(Food),但是子工厂可以根据自己的喜好来决定生产的具体产品,如BeerFactory比较热衷于啤酒生产, FriedChickenFactory热衷于炸鸡。
程序语言
食物类
//食物类public class Food {}//啤酒类public class Beer extends Food { public Beer() { System.out.println("啤酒"); }}//炸鸡类public class FriedChicken extends Food { public FriedChicken() { System.out.println("炸鸡"); }}
父工厂类
//约定了子孙工厂类都要生产食物(Food)public abstract class FoodFactory { public abstract Food produceFood();}
子工厂类
//炸鸡工厂public class FriedChickenFactory extends FoodFactory { @Override public FriedChicken produceFood() { return new FriedChicken(); }}//啤酒工厂public class BeerFactory extends FoodFactory { @Override public Beer produceFood() { return new Beer(); }}
客户端
public class Main { public static void main(String[] args) { FoodFactory foodFactory = new BeerFactory(); Food beer = foodFactory.produceFood(); foodFactory = new FriedChickenFactory(); Food chicken = foodFactory.produceFood(); }}
效果
1、父工厂类约定了子工厂类必须遵守的模型,适合用于生产一类商品,并且每个商品类一般单独使用。如啤酒、炸鸡同属于食物,但是可以拿来单独销售。
2、工厂方法便于扩展,当需要增加新的商品类时,只需要增加对应的工厂类即可。
3、类较多,每增加一个商品,都需要增加一个对应的工厂类。
0 0
- 工厂方法(Factory Method)
- 工厂方法(Factory Method)
- Factory Method(工厂方法)
- 工厂方法(Factory Method)
- Factory Method(工厂方法)
- 工厂方法(Factory Method)
- Factory Method(工厂方法)
- 工厂方法(Factory Method)
- 工厂方法(Factory Method)
- 工厂方法(Factory Method)
- Factory Method 工厂方法
- 工厂方法factory method
- 工厂方法Factory Method
- 工厂方法,Factory Method
- 工厂方法(Factory Method)
- 工厂方法(Factory Method)
- 工厂方法 Factory Method
- 工厂方法(Factory Method)
- 程序员的“第一天”
- Java多线程(2):创建与启动
- linux 不能上网
- Ubuntu中的vi
- 【HDU 2586】测板
- 工厂方法(Factory Method)
- unity3d camera.culling mask
- 异常处理
- 模式识别作业2
- HiHo #1032 : 最长回文子串 【Manacher算法】
- Leetcode||9. Palindrome Number
- scanf遇到空格继续输入
- 函数、指针
- 总结