- 浏览: 14267 次
最新评论
AS3 Design Pattern: Simple Factory 模式
2009年07月22日
Simple Factory模式(又称Static Factory模式),一个Simple Factory生产成品,而对客户端隐藏产品产生的细节。实作时定义一个产品介面(interface),并透过特定静态方法来建立成品。
假设有一个音乐盒工厂,购买音乐盒的客人不用知道音乐盒是如何制作的,他只要知道如何播放音乐盒就可以了,以 UML 类别图来表示以上的概念:
如上图所示的,MusicBoxDemo代表了客户的角色,它只依赖于IMusicBox介面,而不关心特定的实作,实际如何产生IMusicBox的实例由MusicBoxFactory完成,以一个简单的程式来实现上面这个UML类别图
IMusicBox.as:
package com.showping.dp
{
public interface IMusicBox
{
function play():void;
}
}PianoBox .as
public class PianoBox implements IMusicBox
{ public function play():void
{
trace("Piano is playing...");
}
}ViolinBox .as
public class ViolinBox implements IMusicBox
{ public function play():void
{
trace("Violoin is playing...");
} }
createMusicBox.as
import flash.system.ApplicationDomain;
public class MusicBoxFactory
{ public static function createMusicBox(name:String):IMusicBox
{
var _str:String="com.showping.dp" + "." + name;
var _box:Class=ApplicationDomain.currentDomain.getDefinition(_str) as Class;
return new _box as IMusicBox;
}
} Simple_Factory.as:
package
{
import com.showping.dp.IMusicBox;
import com.showping.dp.MusicBoxFactory;
import com.showping.dp.PianoBox;
import com.showping.dp.ViolinBox;
import flash.display.Sprite; public class Simple_Factory extends Sprite
{
private var _piano:PianoBox;
private var _violin:ViolinBox;
public function Simple_Factory()
{
playMusicBox(MusicBoxFactory.createMusicBox("PianoBox"));
playMusicBox(MusicBoxFactory.createMusicBox("ViolinBox"));
} private function playMusicBox(musicBox:IMusicBox):void
{
musicBox.play();
}
}
}AS3有个特点,就是不被引用的类是不会被编译的,这一点跟Java区别很大
所以在Simple_Factory类里加入了两个引用,看似多余,其实必要,不然程序会报错。
发表评论
-
autoit3简要笔记
2012-01-20 10:07 814autoit3简要笔记 2011年02月11日 ... -
BAT命令大全
2012-01-20 10:07 627BAT命令大全 2010年11月11日 BAT命令大全 ... -
IIS修复工具,怎么完全卸载IIS
2012-01-20 10:07 810IIS修复工具,怎么完全卸 ... -
自动化测试-略懂
2012-01-20 10:07 471自动化测试-略懂 2010年09月14日 其实我目前是处 ... -
还原点
2012-01-20 10:07 426还原点 2010年10月23日 什么是还原点: 表 ... -
各种文件后缀名与打开方式大全a-d
2012-01-19 15:08 728各种文件后缀名与打开方式大全a-d 2012年01月11日 ... -
右键菜单显示隐错文件和扩展名时报错
2012-01-19 15:08 779右键菜单显示隐错文件和扩展名时报错 2012年01月11日 ... -
右键添加显示隐藏文件(转贴)
2012-01-19 15:08 526右键添加显示隐藏文件(转贴) 2012年01月15日 右 ... -
教你用记事本做整人的另类签名
2012-01-19 15:08 624教你用记事本做整人的另类签名 2011年12月24日 今 ... -
S7-300 PLC的串口无线通讯在火电厂污水处理中的应用
2012-01-19 15:08 578S7-300 PLC的串口无线通讯 ... -
C# 外挂入门 配套 实例+视频 教程
2012-01-17 04:55 3002C# 外挂入门 配套 实例+ ... -
关于PHP的缓存
2012-01-17 04:55 615关于PHP的缓存 2011年05 ... -
外挂制作 方法
2012-01-17 04:55 600外挂制作 方法 2011年01 ... -
杨建:网站加速--服务器编写篇(上)
2012-01-17 04:55 496杨建:网站加速--服务器 ... -
flex3控件_ModuleLoader
2012-01-16 03:46 556flex3控件_ModuleLoader 2011年07月0 ... -
as3 内置组件 1
2012-01-16 03:46 569as3 内置组件 1 2009年10月14日 1,改变所 ... -
天地会flash资源导航
2012-01-16 03:45 951天地会flash资源导航 2011年02月25日 一 f ... -
回顾日志_20110609
2012-01-16 03:45 526回顾日志_20110609 2011年06月09日 先来 ...
相关推荐
Design Pattern: Simple Factory 模式 Design Pattern: Abstract Factory 模式 Design Pattern: Builder 模式 Design Pattern: Factory Method 模式 Design Pattern: Prototype 模式 Design Pattern: Singleton...
1)简单工厂模式(Simple Factory) 2)工厂方法模式(Factory Method) 3)抽象工厂模式(Abstract Factory) 这三种模式从上到下逐步抽象,并且更具一般性。 GOF在《设计模式》一书中将工厂模式分为两类...
DesignPattern 从0开始深入理解设计模式的原理及应用 1.设计原则 1.8.设计原则总结 学习设计原则是学习设计模式的基础。在实际开发过程中, 并不要求所有代码都遵循设计原则,我们要考虑人力、时间、成本、质量...
23种设计模式演示代码文件结构图gof23 |- creational(创建型模式) |- simplefactory 简单工厂模式案例 |- factorymethod 工厂方法模式案例 |- abstractfactory 抽象工厂模式案例 |- builder 建造者模式案例 |- ...
六个创建型模式 六个创建型模式 简单工厂模式-Simple Factory Pattern 工厂三兄弟之简单工厂模式(一) 工厂三兄弟之简单工厂模式(二) 工厂三兄弟之简单工厂模式(三) 工厂三兄弟之简单工厂模式(四) 工厂方法...
hello-design-pattern 设计模式学习笔记,此项目参考《大话设计模式》,只能作为入门级设计模式学习 设计原则 职责单一原则 开放-封闭原则 依赖倒转原则 高层模块不依赖底层模块,两个模块都应该依赖抽象。抽象不...
:check_mark:简单工厂模式( Simple Factor Pattern ) :memo: , :check_mark:工厂方法模式( Factory Method Pattern ) :memo: , :check_mark:抽象工厂模式( Abstract Factroy Pattern ) :memo: , :check_...
第03章 术业有专攻:简单工厂模式 (SimpleFactory) 第04章 精益求精:工厂方法模式 (FactoryMethod) 第05章 再接再厉:抽象工厂模式 (AbstractFactory) 第06章 孜孜不倦:创建者模式 (Builder) 第07章 照猫画虎:...
This book is fast and simple way to get the idea behind each of the 29 popular design patterns. The book is not tied to any specific programming language and will be good for you as long as you have a...
Simple Factory Design-Pattern for Calculate Salary for VC6project
本资料来源于吕震宇博客,欢迎访问 ...经过整理,方便大家阅读。...C#设计模式(4)-Simple Factory Pattern C#设计模式(3) - 设计原则(2) C#设计模式(2) - 设计原则(1) C#设计模式(1) - 面向对象基本概念复习
Insus.net录制的design Pattern 简单工厂的小影片
The Abstract Factory Pattern Chapter 11. The Builder Pattern Part 3 - The Structural Patterns Chapter 12. The Adapter Pattern Chapter 13. The Bridge Pattern Chapter 14. The Decorator Pattern Chapter...
简单工厂(Simple Factory)模式 ③设计模式的征途-03。工厂方法(Factory Method)模式 ④设计模式的征途-04。抽象工厂(Abstract Factory)模式 ⑤设计模式的征途-05。原型(原型)模式 ⑥设计模式的征途-06。建造...
You’ll easily counter with your deep understanding of why Singleton isn’t as simple as it sounds, how the Factory is so often misunderstood, or on the real relationship between Decorator, Facade ...
MVC as a Compound Design Pattern 163 Design Guidelines for MVC Applications 165 Model-View-Controller in Cocoa (Mac OS X) 167 Object Modeling 167 Entities 168 Attributes 168 Relationships 169 ...
You'll easily counter with your deep understanding of why Singleton isn't as simple as it sounds, how the Factory is so often misunderstood, or on the real relationship between Decorator, Facade and ...
去设计模式简单工厂模式(Simple Factory Pattern) ➜ simple_factory (main) ✗ go test -v * .go=== RUN TestCacheFactory_Createredis data: v1mem data: m1--- PASS: TestCacheFactory_Create (0.00s)PASSok ...
多样式星期名字转换 [Design, C#] .NET关于string转换的一个小Bug Regular Expressions 完整的在.net后台执行javascript脚本集合 ASP.NET 中的正则表达式 常用的匹配正则表达式和实例 经典正则表达式 delegate vs. ...