设计模式——Simple Factory模式
来源:互联网 发布:时时彩杀号软件苹果 编辑:程序博客网 时间:2024/05/22 06:31
Factory模式个人理解:
适用情景:某些类具有共同的方法、属性,可继承同一抽象父类或者实现同一接口的情况下,新建这些类的时候使用。如下实例:不同的类具有相同方法,但方法有不同的实现,抽象继承与abstract类 OilOrderState,工厂类有静态方法create,根据传参不同创建不同的实体实现类。
实例代码:
产品抽象类:
abstract class OilOrderState { OilOrderV230 host; public OilOrderState(OilOrderV230 host) { this.host = host; } abstract String getStateTitleString(); abstract String getPayPrice(); abstract OilOrderOptionButtonConfig[] getOilOrderOptionButtonConfig(OilOrderV230 oilOrderV230,OilOrderPresenterV230 oilOrderPresenterV230);}
产品实现类:
产品实现类OilOrderStateUnpaid:
public class OilOrderStateUnpaid extends OilOrderState{ public OilOrderStateUnpaid(OilOrderV230 host) { super(host); } @Override String getStateTitleString() { return "待支付"; } @Override String getPayPrice() { return "应付" + host.getPayPrice() + "元"; } @Override OilOrderOptionButtonConfig[] getOilOrderOptionButtonConfig(OilOrderV230 oilOrderV230, OilOrderPresenterV230 oilOrderPresenterV230) { OilOrderOptionButtonConfig [] oilOrderOptionButtonConfigs = new OilOrderOptionButtonConfig[2]; oilOrderOptionButtonConfigs[0] = OilOrderOptionButtonConfig.createCancelButton(oilOrderV230,oilOrderPresenterV230); oilOrderOptionButtonConfigs[1] = OilOrderOptionButtonConfig.createPayButton(oilOrderV230,oilOrderPresenterV230); return oilOrderOptionButtonConfigs; }}
Factory类:
class OilOrderStateFactory { public static final int OIL_ORDER_FILTER_UNPAID = 0; public static final int OIL_ORDER_FILTER_PAID = 1; public static final int OIL_ORDER_FILTER_CANCELED = 2; public static OilOrderState create(int state,OilOrderV230 host) { switch (state) { case OIL_ORDER_FILTER_UNPAID: return new OilOrderStateUnpaid(host); case OIL_ORDER_FILTER_PAID: return new OilOrderStatePaid(host); case OIL_ORDER_FILTER_CANCELED: return new OilOrderStateCanceled(host); } throw new IllegalArgumentException("未知订单类型"); }}
阅读全文
0 0
- 设计模式——Simple Factory模式
- Simple Factory设计模式
- 设计模式--Simple Factory
- 设计模式之简单工厂——Simple Factory
- Java设计模式——简单工厂(Simple Factory)
- 001.设计模式之Simple Factory模式
- 设计模式-简单工厂模式(Simple Factory)
- JAVA设计模式——简单工厂(Simple Factory)模式
- Simple Factory Pattern 简单工厂模式——《深入浅出设计模式(C#/Java版)》
- 大话设计模式感悟(2)——简单工厂模式(Simple Factory)
- 设计模式——简单工厂模式(simple factory pattern)
- java设计模式——简单工厂模式(Simple Factory Pattern)
- 设计模式 (四)——简单工厂模式(Simple Factory,创建型)
- 大话设计模式c++实现1——简单工厂模式 Simple Factory Pattern
- 设计模式的征途—2.简单工厂(Simple Factory)模式
- 重读GoF设计模式 -- simple factory
- 设计模式-简单工厂(Simple Factory)
- 【设计模式】之 Simple Factory 简单工厂
- Scala实现逻辑回归分类,Titanic
- android 如何判断点是否在多边形内
- Tp5更改网站根目录
- zookeeper基本原理介绍
- FastDHT安装部署文档
- 设计模式——Simple Factory模式
- 大数据之HDFS应用开发(java API)
- Android——图片放大镜效果
- c++ stl vector
- Poi 使用其他页做为下拉数据源
- [Unity][Android]获取设备的操作系统
- WinDbg学习笔记一
- Python3 异常基础
- 回首Java——如何最有效率的检查一个元素在一个集合中?