一个好爸爸-古天乐
Command模式
Active Object模式
模板方法模式
NULL Object模式
单例模式:
1.getInstance()
2.new,然后共享静态属性
ICommand,
+execute()
+undo()
用一个堆栈储存调用过的命令,需要undo的时候pop出最后一个调用过的命令,然后调用它的undo方法.
多线程控制核心:
var list:Array = [];
while(list.length > 0)
{
c = list[0];
delete list[0];
c.execute();
}
aswing
as3模仿as2添加事件侦听,
用法:o.onResult = function;
function set onResult(handler:Function):void
{
if(null == handler)
{
this.removeEventListener("evtName", handler)
}
else
{
this.addEventListener("evtName", handler)
}
}//注意,这种时候只添加一个侦听器比较好,否则,很难回收,各有利弊
Dictionary,
全局clone()方法.
唱歌,用气方法
as3所有对类属性的直接初始化,在编译的时候都会被编译器转移到构造函数中进行,
const定义的不是真正的常量,const定义的类属性的初始化也会被转移到构造函数中,
使用const的好处是,在编译之前如果你尝试将const 变量赋一个其它的值,编译会不通过,
通过这种方式来实现常量.
addChildren(child:DisplayObject, ...args):void // 同时添加多个显示对象
模块化开发,vs mvc
fms, php, red5
设计模式
mvc
2D引擎 APE, Box2D
3D引擎 PV3D, away3D
aswing
flash炼金术
多线程,p2p,3D
fla发布swc时在发布设置里发布比较好,不要导出组件
mvc,总线结构
自己可以尝试使用一个Bridge单例,通过它来在整个程序中共享事件,
localconnection 模仿socket
{}比new Object快,
[]比new Array()快,
初始化Object肯定比Array快,
Array是Object的子类,开销更大,所以是肯定的
lisp七大公理
quote,atom,eq,car,adr,cons,cond
老子,道德经
罗拉快跑,亮剑
做一个游戏,先用纯逻辑实现
学一门语言,不要总想着做应用
软件工程
php,学好
有空深入汇编
FSM很有趣:)
oop:
抽象,封装,继承,多态
is a 继承, has a 组合, use a 聚合
习惯在事件侦听器前加两个下划线"__", 如 __onBoxClick()