AS2与设计模式(一)---简单工厂模式

【python】简单工厂模式 【python】简单工厂模式。抽空学习下常见的20几种设计模式,python2.7来设计实现。希望能坚持下来全部介绍完。 阅读详情

AS2与设计模式(一)---简单工厂模式:
     "想出设计模式的人是天才,而学会他的人最多只能算是一个好的工匠"----某个高人

简单工厂模式恐怕是所有设计模式里最好懂的一个了,难怪我这个菜鸟也能写篇文章来介绍它了:

     简单工厂模式总体上是这样运作的:
用户通过一个接口参数(整数或String之类)告诉加工者你想要的具体产品,然后加工者就通过
if (argu==0)
 return new ConcreteProduct0();
else if(arug==1)
        return new ConcreteProduct1();
else if(argu==2)
 return new ConcreteProduct2();
....
的方式来制造相关的产品,怎么样?很好懂吧.

     下面,我就以我最近做的一个初级物理演示系统来具体说明一下:
这个演标系统中有两个顶层对象,一个是SceneManager,它负责着场景的切换,也就是相当于制造者的地位.
还有一个是指向IEffect接口类的EffectManager对象,随时等候SceneManager的命令,要它当前演示什么效果,
它就演示什么效果,也就是相当于充当着我们的产品的角色.
主场景中用于初始化的代码如下:
import Sdgp.SMag.SceneMag;
import Sdgp.SEffect.*;
fscommand("allowscale",false);
var SceneManager:SceneMag=new SceneMag();
var EffectManager:ISEffect=new CS2BallConserve();//默认状态为二球动理守恒的演示.
SceneManager.init();
EffectManager.init();

//SceneMag类中用以实现简单工厂模式的代码段.
class Sdgp.SMag.SceneMag extends RCSMag
{      ....
 private var mComMag:ISComMag;
 ....
 public function changeItem(num:Number):ISEffect
 {
  if(num==0)return new CS2BallConserve();
  else if(num==1)return new CS3BallConserve();
  else if(num==2)return new CSMultiBallCol();
  else if(num==3)return new CSZMBall();
  else
  {
   trace("unfinished items");
   return undefined;
  }
 }
}

//“制造”这个动作由menuCombo的change事件来激发.
  public function msgChange(evt:Object):Void
 { ....
   if(evt.target==_root.menuCombo)
  {      ...
   //一些判定及扫尾工作....
 _root.EffectManager=_root.SceneManager.changeItem(_root.menuCombo.selectedIndex);//就是这句用以制造哟~~~
   ...
   _root.EffectManager.init();
   _root.fpsCombo.enabled=true;

  }
        }
 
怎么样,我讲的还算清楚吧~~~:)
效果演示请点击这里:
http://www.flash8.net/bbs/UploadFile/2005-3/2005326211019860.swf 

合泰单片机HT32之keil5开发环境搭建(一) 1. 前言 这两天在准备合泰杯,但是总是感觉无从下手,因为合泰单片机的资料教程什么的非常少,不像stm32那样。而且听说要用合泰单片机的专用IDE,感觉当场被劝退了。后来经过查找资料,发现合泰单片机也有keil5的支持包,也就是说可以从库函数进行开发,不用从寄存器进行开发,但我找了好久,并没有找到教程,后来实在没办法,打算自己动手搭建环境,经过了大概两天的挣扎后,终于成功地搭建好了环境,也成功地点... 阅读详情

相关推荐

Qt6.8.0(win64)安装教程

启动 Visual Studio 2022 Community,选择 “继续但无需代码” 运行,然后打开Option设置,Add一条版本配置,Location 选择 D:\Qt\6.8.0\msvc2022_64\bin\qmake,点击确定。我是win11系统,所以选择windows版,下载路径二选一即可。方案1:默认情况下,额外勾选图中两个组件(总共40多G)方案2:按图中自定义勾选组件(总共5.8G)选择Custom Installation。我选的方案2,总共5.81G。

D4G1TIAO的博客 9070

【Java设计模式】② 简单工厂模式

工厂模式分为简单工厂模式,工厂方法模式和抽象工厂模式,它们都属于设计模式中的创建型模式。其主要功能都是帮助我们把对象的实例化部分抽取了出来,目的是降低系统中代码耦合度,并且增强系统的扩展性。...

阿莫夕林的博客 967

【Matlab 六自由度机器人】基于改进型D-H参数的运动学建模与蒙特卡洛工作空间分析

本文详细介绍了如何使用改进型D-H参数法为六自由度机器人建立运动学模型,并利用Matlab Robotics Toolbox实现正运动学计算与可视化。通过蒙特卡洛法对机器人工作空间进行分析,生成三维点云图以直观展示其可达范围,为机器人选型与任务规划提供关键依据。

weixin_29040367的博客 439

【通俗说设计模式】一、简单工厂模式 & Python示例(创建型模式开篇)

专业介绍: 简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同于工厂模式的一个特殊实现。引用自-百度百科 关键词:一个工厂、简单实用 通俗介绍: ...

Rei的博客 503

从零开始:用Xilinx FPGA实现RISC-V单周期CPU(附完整Verilog代码)

本文详细介绍了如何使用Xilinx FPGA从零开始实现RISC-V单周期CPU,包括开发环境搭建、核心架构设计、Verilog代码实现及功能验证。通过实战指南和完整代码示例,帮助开发者掌握RISC-V CPU设计的关键技术,适用于嵌入式系统和定制化计算场景。

weixin_30664051的博客 547

Synopsys安装教程Ubuntu22.04版本

在Ubuntu22版本上安装Synopsys等系列工具,安装DC,VCS等等

qq_59529218的博客 5726

简单工厂模式

简单工厂模式(Simple Factory Pattern)属于类的创建型模式,又叫是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。。

q__y__L的博客 540

Python连接高斯数据库踩坑实录:从SASL报错到SSL安全连接的完整指南

本文详细记录了Python连接高斯数据库时遇到的SASL authentication报错及其解决方法。通过剖析SASL认证机制,对比了修改数据库配置、使用官方驱动等方案的利弊,并重点提供了通过自动化脚本生成SSL证书,实现安全、免密连接的完整指南,帮助开发者彻底解决连接难题。

weixin_28340315的博客 438

设计模式——简单工厂模式(Simple Factory)

首先要先明白面向对象编程区别于面向过程(结构化)编程的特点:易维护、易扩展、易复用 另外在设计模式中,用抽象类或者接口做父类是一个很常见的操作。而这么做对于设计模式方面的最直接的好处有两点: (1)规范 (2)隔离实现 隔离实现的意义是: 接口(这里的接口是抽象类、接口的一类统称)用来封装隔离具体的实现,目标就是不让客户端知到封装体内部的具体实现。 使客户端通过一些抽象类、接口来访问程序的一些信息,从而避免了使得客户直接接触到一个程序的实现部分(子类) 设计模式——简单工厂模式(Simple

qq_43236424的博客 265

BLDC控制实验:方波、霍尔、开环、定速、正转

本文记录博主学习BLDC控制软件的过程。 文章目录1 概述2 软件架构及工具链2.1 软件架构2.2 工具链3 底层代码生成3.1 时钟配置3.2 按键输入配置 1 概述 本文是博主第一次做BLDC控制实验,目的仅仅是写代码让BLDC转起来,而暂时不考虑其他复杂的需求。 控制的方法是比较简单的六步换相法。利用电机内部的霍尔传感器,通过参考电机厂家给出的二二导通换相表,生成方波来控制电机。第一次实验为了简化需求,只考虑开环、定速、正转的情况: 开环:不考虑速度反馈,直接给PWM让电机转起来; 定速:不考虑速

u013288925的博客 1万+

使用 IMDb API 获取电影评分和评论的 Python 爬虫

电影是人们娱乐生活中的重要组成部分,随着电影产业的快速发展,观众对电影的评价也越来越多样化。IMDb(互联网电影数据库)作为全球最大的电影评分和评论平台之一,收录了成千上万部电影、电视节目及其相关数据。它提供了一个强大的 API 接口,允许开发者访问电影的评分、评论、演员信息等数据。本文将带你一步一步实现一个 Python 爬虫,使用 IMDb API 获取电影的评分和评论。我们将通过这个爬虫来分析一些热门电影的观众反馈,并可视化分析结果。

2201_76125261的博客 1055

设计模式 之 简单工厂模式

简单工厂模式 简单工厂模式是属于设计模式中的创建性模式,一般是使用静态方法,通过接收不同的参数,返回不同类型的对象实例,下面以大话设计模式中的计算器来举例。计算器一般常见的是四种运算法则,加减乘除。客户端传入需要运算的符号时,会返回该运算的对象实例,进行相应的计算。扩展性较差,添加一个新的运算法则需要修改工厂类Factory,下面是计算器的类图。 下面来看看具体的代码: /***计算器...

lq_fly_pig的博客 493

从零开始讲DDR(5)——读懂Datasheet

对于开发人员来说,需要根据实际场景和使用的需要,使用不同厂家,不同型号的DDR,虽然原理上大同小异,但是还是有一些细节上的需要注意的地方,接触一个新的DDR芯片,首先就是需要找到对应的datasheet,而能都读懂datasheet,也是一个硬件工程师的必备技能。

apple_53311083的博客 5221

2018-2-15-PHP设计模式【简单工厂模式】

layout title date author desc in_head post PHP设计模式之简单工厂模式 2018-02-15 23:00:02 +0800 南丞 设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码...

PFinal社区 179

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

【自分の総括】设计模式之简单工厂模式(实例分析)

一、概念 定义一个工厂类,根据参数的不同返回不同类的实例,这些类具有公共的父类和一些公共的方法。简单工厂模式不属于GoF设计模式,是最简单的工厂模式。在分析简单工厂模式中,引入三个角色概念。Factory(工厂角色)、Product(抽象产品角色)、ConcreteProduct(具体产品角色)。 二、实例分析 背景简单引入,系统提供三个具体产品类分别对应三种图表的打印,三个具体产品

有点忙的小林 509

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

设计模式之简单工厂模式Simple Factory Pattern

设计模式之简单工厂模式Simple Factory Pattern 2004-04-20 23:36:06 guoyan19811021 http://www.21tx.com/school/dotnet/wz/37WTV2FTZZFP1NJCHS.shtml在面向对象(OO)程序中,我们经常看到的一种模式就是简单工厂模式(Simple Factory Pattern)

837

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

静态工厂方法代替构造器在jdk中应用

文章目录一、优缺点1.1 静态工厂相对于构造函数的第一大优点是有名称参考文献 一、优缺点 1.1 静态工厂相对于构造函数的第一大优点是有名称 适合场景:当一个类需要多个带有相同签名的构造函数时, 参考文献 在jdk中的应用 UUID.randomUUID(); UUID.nameUUIDFromBytes(); ...

wobushixiaobailian的博客 239

接口和简单静态工厂方法模式

一、接口(interface),接口里不能包含普通方法,接口里所有方法都是抽象方法。接口是更彻底的抽象。 二、You can choose to explicitly declare the methods in an interface as public, but they are public even if you don’t say it. So when you implement a

crxmai的专栏 1000

Chapter-2-Item-1-考虑以静态工厂方法代替构造函数

减少的不仅仅是 API 的数量,还有概念上的减少:程序员为了使用 API 必须掌握的概念的数量和难度。在 OpenJDK 实现中,它们返回两个子类中的一个实例,这取决于底层 enum 类型的大小:如果它有 64 个或更少的元素,就像大多数 enum 类型一样,静态工厂返回一个 long 类型的 RegularEnumSet 实例;一个类可以提供公共静态工厂方法,它只是一个返回类实例的静态方法。如果构造函数的参数本身并不能描述返回的对象,那么具有确切名称的静态工厂则更容易使用,生成的客户端代码也更容易阅读。

学IT的细胞膜的博客 858

设计模式之一:简单工厂模式,用python实现简易计算器

设计模式之一:简单工厂模式,用python实现简易计算器听说写技术博客对别人对自己都有好处,于是从这里开始写第一篇博客,记录自己的学习历程。由于编程功底很薄弱(对于代码的不足或错误,欢迎大家批评指正),最近自学Python,想做些小项目练练手,发现程杰写的大话设计模式这书不错,适合新手入门。开始这本书第一章学习,这里实现简单工厂模式。以实现图形界面的简易计算器为实例,能够计算+-/*% ( )等混合

VincentLuo91的博客 2489

Unity3D常见的设计模式(一)

设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理地运用 设计模式可以完美地解决很多问题,每种模式在现实中都有相应的原理来与之对应,每种模式都描述了一个在我们周围不断重复发生的问题,以及该问题的核心解决 方案,这也是设计模式能被广泛应用的原因。

心疼你的一切博客 1296

设计模式-01简单工厂模式详解 详细代码对比

从三个维度来说明:抽象产品角色–Vehicle 交通工具具体产品角色 – Car、Bicycle工厂类角色–VehicleFactory1 简单工厂模式中抽象产品角色Vehicle 使用interface,原生代码是class2 简单工厂模式中具体产品角色Car,需要实现接口,原生代码为单独类3 简单工厂模式中具体工厂类角色–VehicleFactory 返回对象是Vehicle 接口,原生代码的返回对象是Object。

偶尔想看云飞的博客 959

Effective第三版 中英 | 第2章 创建和销毁对象 | 考虑静态工厂方法而不是构造函数

大家好,这里是 Rocky 编程日记 ,喜欢后端架构及中间件源码,目前正在阅读 effective-java 书籍。同时也把自己学习该书时的笔记,代码分享出来,供大家学习交流,如若笔记中有不对的地方,那一定是当时我的理解还不够,希望你能及时提出。前人述备矣,我只是知识的搬运工,effective 书籍源码均在开源项目 java-diary 中的 code-effective-third 模块中源代码仓库地址: https://gitee.com/Rocky-BCRJ/java-diary.git。

qq_42605751的博客 869

设计模式 简单工厂模式

简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现. 简单工厂模式结构图: 简单工厂模式中的角色: 工厂(Creator)角色简单工厂模式的核心,它负责实现创建所有...

weixin_30270561的博客 65

【设计模式1】简单工厂模式

要点总括 (1)代码规范性:命名规范、逻辑强(无明显Bug)、无冗余判断(eg:多个并列if用else if或switch case替代); (2)面向对象:易维护、可复用、可扩展、灵活性好 (3)面向对象三大特性:封装、继承、多态,合理使用将显著降低程序的耦合度; (4)封装:业务逻辑(eg:计算器的计算功能)和界面逻辑(eg:计算器的显示)分开,从而降低耦合度,提升复用性; (5)松散耦合:基于继承多态,采用不同的类单独实现各模块,降低程序的维护风险; (6)简单工厂模式:定义单独的工厂,解决各模块类的

飞舞哲 317

设计模式 -- 简单工厂模式

故事背景 氦星历23年,为抵御外敌入侵,氦星急需要扩充军队力量。为此,氦星内阁推出一项造人计划。 什么是简单工厂设计模式? 简单工厂设计模式的使用场景? 简单工厂设计模式的用途? 简单工厂设计模式的优缺点? ...

weixin_38085783的博客 150
上一篇: [AS2]路径,包与#include小结:
下一篇: [AS2]动态创建V2Component
EmilMatthew
博客等级 码龄22年 398粉丝 170原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值