设计模式——工厂方法模式
2017-10-31 17:23
106 查看
工厂方法模式个人理解:
工厂方法模式包含的元素有:
1. 抽象产品类
2. 产品实现类
3. 抽象工厂类
4. 工厂实现类
其他理解:
1. 要通过工厂方法模式实例化类,需先实例化该类对应的Factory类
2. 在对项目进行扩展的时候,不需要改动别处代码,只需要添加新产品的实现类(继承抽象产品类||实现抽象产品接口)、工厂实现类即可,改动地方比较少
3. 与简单工厂模式差异在于Factory类,Factory类实例化产品类的方式
4. 在个人实际项目中貌似没有用到过工厂方法模式。。。。。。我再回顾代码看看有没有
抽象产品类:
产品实现类:
抽象工厂类:
4000
工厂实现类:
通过工厂方法模式实例化类:
工厂方法模式包含的元素有:
1. 抽象产品类
2. 产品实现类
3. 抽象工厂类
4. 工厂实现类
其他理解:
1. 要通过工厂方法模式实例化类,需先实例化该类对应的Factory类
2. 在对项目进行扩展的时候,不需要改动别处代码,只需要添加新产品的实现类(继承抽象产品类||实现抽象产品接口)、工厂实现类即可,改动地方比较少
3. 与简单工厂模式差异在于Factory类,Factory类实例化产品类的方式
4. 在个人实际项目中貌似没有用到过工厂方法模式。。。。。。我再回顾代码看看有没有
抽象产品类:
public abstract class Shape { public abstract void draw(); }
产品实现类:
public class ShapeCircle extends Shape { @Override public void draw() { Log.i("factory_mode", "----------draw: ShapeCircle---------"); } }
public class ShapeRectangle extends Shape { @Override public void draw() { Log.i("factory_mode", "----------draw: ShapeRectangle---------"); } }
抽象工厂类:
public abstract class ShapeFactory { public abstract Shape getShape(); }
4000
工厂实现类:
public class ShapeCircleFactory extends ShapeFactory { @Override public Shape getShape() { return new ShapeCircle(); } }
public class ShapeRectangleFactory extends ShapeFactory { @Override public Shape getShape() { return new ShapeRectangle(); } }
通过工厂方法模式实例化类:
private void factoryMethod(){ ShapeCircleFactory shapeFactory = new ShapeCircleFactory(); ShapeCircle shapeCircle = (ShapeCircle) shapeFactory.getShape(); shapeCircle.draw(); ShapeRectangleFactory shapeRectangleFactory = new ShapeRectangleFactory(); ShapeRectangle shapeRectangle = (ShapeRectangle)shapeRectangleFactory.getShape(); shapeRectangle.draw(); }
相关文章推荐
- Net设计模式实例之工厂方法模式( Factory Method Pattern)
- 设计模式——工厂方法模式
- 设计模式--工厂方法模式
- 设计模式:工厂方法模式(Factory Method)和抽象工厂模式(Abstact Factory)
- 设计模式系列——三个工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)
- 设计模式-创建型-工厂方法模式(Factory Methods)
- 工厂设计模式(二)--工厂方法模式
- Java设计模式之工厂方法模式
- 简单工厂模式(静态工厂方法模式)【设计模式】
- 设计模式笔记 4.Factory Method 工厂方法模式(创建型模式)
- 设计模式学习之路-工厂方法模式
- 设计模式——工厂方法模式
- iOS经常使用设计模式——工厂方法(简单工厂模式,工厂方法模式, 抽象工厂模式)
- 23种设计模式之工厂方法模式
- 设计模式 (二)工厂方法模式(FactoryMethod)
- Net设计模式实例之工厂方法模式( Factory Method Pattern)
- 学习设计模式-工厂方法模式
- PHP设计模式——工厂方法模式(研磨设计模式学习笔记)
- JAVA设计模式三--factorymethod(工厂方法模式)
- 设计模式学习笔记——工厂方法模式