简单工厂(Simple Factory)模式

Simple Factory模式根据提供给它的数据,返回几个可能类中的一个类的实例。通常它返回的类都有一个公共的父类和公共的方法。

Simple Factory模式实际上不是GoF 23个设计模式中的一员。

Simple Factory模式角色与结构:

工厂类角色Creator (LightSimpleFactory):工厂类在客户端的直接控制下(Create方法)创建产品对象。

抽象产品角色Product (Light):定义简单工厂创建的对象的父类或它们共同拥有的接口。可以是一个类、抽象类或接口。

具体产品角色ConcreteProduct (BulbLight, TubeLight):定义工厂具体加工出的对象。

转载于:https://www.cnblogs.com/wenly/archive/2008/06/04/1213742.html

简单工厂(Simple Factory)模式相关推荐

  1. 简单工厂(Simple Factory)

    文章目录 1.代码示例 2.简单工厂模式的定义(实现意图) 工厂模式:通过把创建对象的代码包装起来,做到创建对象的代码与具体的业务逻辑代码相隔离的目的. 工厂模式可以细分为:简单工厂模式,工厂方法模式 ...

  2. 本文详细介绍Python 设计模式系列之二: 创建型 Simple Factory 模式(转载)

    源地址:http://doc.chinaunix.net/python/200703/202210.shtml 本文详细介绍Python 设计模式系列之二: 创建型 Simple Factory 模式 ...

  3. 设计模式学习笔记——抽象工厂(Abstract Factory)模式

    设计模式学习笔记--抽象工厂(Abstract Factory)模式 @(设计模式)[设计模式, 设计模式中文名, 设计模式英文名] 设计模式学习笔记抽象工厂Abstract Factory模式 基本 ...

  4. 设计模式--抽象工厂(Abstract Factory)模式

    模式定义 提供一个创建一系列相关或互相依赖对象的接口,而无需指定它们具体的类 类图 应用场景 程序需要处理不同系列的相关产品,但是你不希望它依赖于这些产品的具体类时可以使用抽象工厂模式 优点 1.可以 ...

  5. Java接口学习(接口的使用、简单工厂、代理模式、接口和抽象类的区别)

    前言引入 官方解释:Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能). 我的 ...

  6. 当Android遇上设计模式之工厂方法(Factory)模式

    文章目录 1. 简单工厂模式 2.1 定义 2.2 代码实现 2.3 使用场景 2. 工厂方法模式 2.1 定义 2.2 代码实现 2.3 使用场景 设计模式六大原则: 单一职责原则:就一个类仅有一个 ...

  7. 【Design pattern】简单工厂过渡策略模式

    把自己当做小菜来跟学<大话设计模式>,跟着故事的思路来走 简单工厂模式:实现一个计算器代码 策略模式:商场打折代码 根据大鸟和小菜的故事,一步步的完善问题的过程!

  8. 简单工厂和策略模式结合

    商场促销活动:打折.满额返现等等 主函数对工厂模式和策略模式结合的调用: class Program     {         static void Main(string[] args)     ...

  9. 设计模式学习-简单工厂模式

    模式概述: 专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类,简单工厂(Simple Factory)模式又称为静态工厂方法(Static Factory Method)模式,属 ...

  10. 《设计模式》-简单工厂模式

    今天有点晚哈,周末跑去完了,回来洗澡 洗衣服 吃饭折腾了很长时间. 周末去玩有点感慨啊,去称体重发现自己又胖了... 不行啊 要减肥了啊,学习固然重要,但是身体更重要啊,为了让自己以后不变成胖子,所以 ...

最新文章

  1. 定位城市_北方城市如何利用GPS定位器减轻铲雪工作压力?
  2. 2020\Simulation_1\3.叶节点数
  3. 应用系统日志采集解决方案
  4. 程序员笔记(知识)管理的一点经验
  5. Unity Editor下改变场景里prefab的参数后保存时注意点
  6. mybatis扩展ResultMap
  7. STM32|4-20mA输出电路
  8. 嵌入式系统硬件原理设计与审核
  9. flink sink jdbc没有数据_一套 SQL 搞定数据仓库?Flink 有了新尝试
  10. java 过滤器 中文_javaweb — 过滤器(附实现中文乱码问题)
  11. SQL注入(SQL注入(SQLi)攻击)攻击-脱库
  12. 台式计算机各部分功能,台式电脑的硬件组成部分及其作用各是什么
  13. 已在此计算机上安装了此应用cad,电脑安装CAD时提示已安装导致安装失败的问题如何解决...
  14. python画兔子代码_Python基础练习实例11(兔子问题)
  15. python实现qq登录腾讯视频_QQ腾讯视频爬取和qv_rmt限速算法python版
  16. 爬取 bilibili 纪录片数据数据可视化
  17. 如何将D盘分区为多个磁盘(E盘,F盘等)window 10
  18. 多协程和队列,爬取时光网电视剧TOP100的数据(剧名、导演、主演和简介)
  19. SAS 9.4 的超详细安装过程(保姆级教程)(含安装包+常见问题解决)
  20. 转转验机源码+验机报告

热门文章

  1. python颜色填充代码_求懂WORD的大佬怎么一次性填充颜色或者使用python识别
  2. matlab销量预测的数学模型,数学建模:酒店最优化问题.用matlab算出《酒店价格预测模型》...
  3. ajax 限制显示条数,jquery通过ajax获取数据,控制显示的数据条数
  4. 计算机在化学中的应用与探索,计算机在化学中的应用
  5. enlink请输入正确服务器地址,Enlink
  6. 18计算机二级考试用word吗,计算机二级Word篇-实操真题详解18
  7. videojs默认显示controls 按钮功能失效_一文看懂Yearning SQL审核平台功能模块设计...
  8. shell脚本,结合expect给当前网段所有主机分发任意文件
  9. mysql longtext db2_从 MySQL 或 PostgreSQL 迁移到 DB2 Express-C
  10. JavaWEB开发的国际化