工厂方法模式与普通工厂模式相比,没有违背“开放-封闭”原则。

利用反射,可以避免修改客户端代码。

/*** Created by hero on 16-4-2.*/
public interface BaseFactory {void method();
}
/*** Created by hero on 16-4-2.*/
public class FactoryA implements BaseFactory {@Overridepublic void method() {System.out.println("factory a");}
}
/*** Created by hero on 16-4-2.*/
public class FactoryB implements BaseFactory {@Overridepublic void method() {System.out.println("factory b");}
}
public class Main {public static void main(String[] args) {BaseFactory factory = new FactoryA();factory.method();}
}

转载于:https://www.cnblogs.com/littlehoom/p/5347964.html

第八章 工厂方法模式相关推荐

  1. 设计模式 之美 -- 工厂方法模式

    文章目录 1. 解决问题 2. 应用场景 3. 实现如下 C++实现 C语言实现 4. 缺点 1. 解决问题 在简单工厂模式中,我们使用卖衣服进行举例,同一种工厂可以卖很多不同种类的衣服,工厂只是将衣 ...

  2. 工厂方法模式和抽象工厂模式

    工厂方法模式和抽象工厂模式 工厂方法模式 抽象工厂模式 总结: 工厂方法模式 #include <string> #include <iostream>// Abstract ...

  3. 工厂方法模式与抽象工厂模式的区别

    工厂方法模式: 一个抽象产品类,可以派生出多个具体产品类. 一个抽象工厂类,可以派生出多个具体工厂类. 每个具体工厂类只能创建一个具体产品类的实例. 抽象工厂模式: 多个抽象产品类,每个抽象产品类可以 ...

  4. 设计模式之工厂方法模式(Factory Method)摘录

    23种GOF设计模式一般分为三大类:创建型模式.结构型模式.行为模式. 创建型模式包括:1.FactoryMethod(工厂方法模式):2.Abstract Factory(抽象工厂模式):3.Sin ...

  5. 设计模式(2)工厂方法模式(Factory Method)

    设计模式(0)简单工厂模式 设计模式(1)单例模式(Singleton) 源码地址 0 工厂方法模式简介 0.0 工厂方法模式定义 工厂方法模式是在简单工厂模式基础上,为解决更复杂的对象创建问题而衍生 ...

  6. 《转》java设计模式--工厂方法模式(Factory Method)

    本文转自:http://www.cnblogs.com/archimedes/p/java-factory-method-pattern.html 工厂方法模式(别名:虚拟构造) 定义一个用于创建对象 ...

  7. 设计模式之工厂类模式总结对比、简单工厂模式、工厂方法模式、抽象工厂模式、带反射的工厂模式、例子代码分析、最详细

    1. 题目 假设某公司同时用SqlServer.MySql数据库,即会切换两数据库(不同数据库的sql语句有些许差异),同时,两数据库里均有对Users.Departments表的操作(sql代码不一 ...

  8. 08Factory Method(工厂方法)模式

    技术交流QQ群:1027579432,欢迎你的加入! 1.对象创建模式 通过对象创建模式绕开new,来避免对象创建(new)过程中所导致的紧耦合(依赖具体类),从而支持对象创建的稳定,它是接口抽象之后 ...

  9. 工厂方法模式(Factory Method)

    简单工厂(静态工厂方法) 简单工厂实际上不算一种模式,可以把它叫做一种常用写法.例如我们常用的数据库操作,为了适配不同的数据库引擎,可能分别编写了具体的数据库操作类(当然这些类都实现了统一的接口): ...

最新文章

  1. 编写纳新网站后端的相关知识总结
  2. 为什么需要IP地址?—Vecloud微云
  3. 《About Multi-Touch(多点触摸是个什么东西?)》:基于光学原理的多点触摸技术全解析...
  4. 英雄联盟更新后服务器还在维护吗,英雄联盟今天维护到什么时候结束 11月12日停机更新维护公告...
  5. 不礼让行人怎么抓拍的_【交通违法曝光2019年第11期】梅河口市公安局交警大队对电子警察抓拍的88台机动车不礼让行人车辆曝光如下...
  6. 每日一笑 | 程序员千万不能轻易去网吧!
  7. c语言转换为python语言_python和c语言
  8. 红帽安装Oracle步骤
  9. 2019 年,开发者如何占领快应用技术风向的高地?
  10. wince 播放器 最终版本
  11. 对称矩阵 c语言,对称矩阵的判定 C语言 SDUT
  12. 用纯css打造表格第一行和前几列锁定
  13. linux下WMB通过ODBC连接数据库
  14. 选哪个:游戏开发和传统软件开发?
  15. 埃默里大学计算机科学排名,埃默里大学CS专业研究生排名,来试试你弄懂多少...
  16. Java开源文件病毒扫描_使用多种反病毒引擎扫描文件
  17. 控制极限(UCL,LCL) 和规格极限(USL,LSL)
  18. <input>:1: UserWarning: The .grad attribute of a Tensor that is not a leaf Tensor is being accessed.
  19. 【C语言】用回调函数实现冒泡排序
  20. Android手机Home键/Back回退键事件

热门文章

  1. Win7下Event_Log服务4201错误的有效解决方法
  2. python3 subprocess_Python 3.4.3 subprocess.Popen获取命令输出而不管道?
  3. activity 流程编辑器_如何读取APK的Activity(Python实现)
  4. python多变量拟合_python-使用scipy拟合多个参数曲线
  5. 简单的字幕效果html,7种HTML5 Figure图片字幕标题特效
  6. win10系统打开更新服务器失败怎么回事,Win10系统一直无法安装更新怎么办 Win10更新一直安装失败的3种解决方法...
  7. axure中备注线_琉璃:璇玑小本子上,别人名字都有备注唯独司凤没有,意义很浪漫...
  8. Xcode 报错Could not find developer disk image,iOS10
  9. 训练AI来检测人类意图,扩大制造领域的人机协作
  10. 脑电分析系列[MNE-Python-15]| Epochs数据可视化