摘要: 装饰器模式主要特征是用特殊的方式给对象添加功能职责,实际上,这个装饰器跟我们想象的装饰一棵圣诞树差不多,但又有不同之处。我的理解是,虽然增加了装饰物,但是这些装饰物不是直接add上去的,之前一直被这个概念搞混。因为这种模式是建立在一个超类的基础上的,例如下图的:Component,所有其他的类都是这个超类的子类,包括具体的组件和装饰类。因此我们装饰的对象,与被装饰的对象,是继承共同的超类的。这也是... 阅读全文
posted @ 2010-09-15 13:07 橡树小屋 阅读(830) 评论(0) 推荐(0) 编辑
摘要: 单态模式可以保证一个类只有一个实例存在,一般情况下,单态模式可以由以下方式实现:但是ActionScript 3.0不支持私有的构造函数,所以我们要采用其他折衷的方法实现私有的构造函数——包外类。【包外类】通常情况下,一个.as类文件package{}内只可以定义一个类,而且必须与文件名相同,这个类对外是可见的,而在package{}还可以定义多个类,这些类与文件名不同,并... 阅读全文
posted @ 2010-09-14 10:20 橡树小屋 阅读(476) 评论(0) 推荐(0) 编辑
摘要: 研究了一段时间工厂模式,顺便把书里面的例子敲一下,大概效果就是这样。【示例效果】【代码说明】运用了两个工厂模式,一个是简单工厂(ShipCreator.as)创建飞行器,一个是工厂方法(Weapon.as)创建武器子弹。飞机装载的武器过于耦合,如果要开发成小游戏,还要改善。用这个例子说明工厂方法实在适合不过,飞机工厂创建5个飞行器产品,而这五个飞行器装载的武器又是对应的5个武器工厂,不断发射的子弹... 阅读全文
posted @ 2010-09-13 23:41 橡树小屋 阅读(508) 评论(0) 推荐(0) 编辑
摘要: 工厂模式里面大概包括三种细分的设计模式:简单工厂模式,工厂方法模式,抽象工厂模式。最近花时间三个一起研究了一遍,因为其设计思想是一致的(其实,所有的设计模式的本质都是一致的,只是招数不同罢了),将三种方法一起对比有助于加深理解学习。所谓工厂模式,就是用工厂方法将需要的类实例化。需要实例化的类就像工厂里面的产品,需要用的时候就“生产”一个。【简单工厂】在工厂类里面包含必要的逻... 阅读全文
posted @ 2010-09-13 08:43 橡树小屋 阅读(748) 评论(0) 推荐(0) 编辑
摘要: 我们在编写AS3.0的代码时,有时候需要在事件上执行函数传参,例如:像上面的情况,有一个事件响应的函数,需要传参数,i就是我们希望传的值,但是这种做法,编写响应函数是没法通过编译的,我在网上看过可以解决编译的响应函数:这样就可以解决传参的问题了,测试可以trace到i的传值,真实太神奇了,具体原理是怎么实现的,当时不是很明白,在我研究javascript闭包的时候,终于发现了两者的相似之处。用闭包... 阅读全文
posted @ 2010-09-04 17:06 橡树小屋 阅读(834) 评论(0) 推荐(0) 编辑
追逐梦想,永不停息