2012年5月31日 星期四

筆記:設計模式Singleton


Actionscript
範例來源
----------------------------------------------------------------------------------------------------
package
{
    public class Singleton
    {
        public static var instance:Singleton;

        public static function getInstance():Singleton
        {
            if( instance == null ) instance = new Singleton( new SingletonEnforcer() );
            return instance;
        }

        public function Singleton( pvt:SingletonEnforcer )
        {
            // init class
        }
    }
}

internal class SingletonEnforcer{}
-------------------------------------------------------------------------------------------------

之前看到actionscipt可以在一個as檔裡面同時塞很多個類別的時候,
心中的第一個反應就是,為什麼會允許使用這種感覺不是很好的寫作風格呢?
沒想到可以用這個特性建立Singleton

2012年5月12日 星期六

工具:FlashDevelop快捷鍵大全(轉載)

 轉載自,不過有的不能用,改天有空再來試試

FlashDeveblop 快捷键
===========================
Ctrl+SPACE = 自动填充.
Ctrl+Alt+SPACE = 用类名自动填充
Ctrl+Shift+SPACE = 提示光标所在的方法需要的参数
Ctrl+Shift+1 = Template generation.(产生一个模板)
Ctrl+B = 范例代码,for、if等代码段的模板 You can add/edit snippets by Tools->General Tools->Snippet Editor
Ctrl+J = 激活TypeExplorer窗口。它有助于找到类名的首字母的类。您可以立即开类。
F5, Ctrl+Enter = 编译项目
Ctrl+Shift+K = 插入颜色
Ctrl+Shift+I = 插入的GUID。

代码导航
===========================
F4 = 跳到方法、类、属性的声明处。
Shift+F4 = 返回(相对于F4)
F12 = 跳到下一处错误
Shift+F12 = 转到上一处错误
Ctrl+[ = 转到下一个声明(声明变量或函数,条件语句,new operator 等等.)
Ctrl+] = 转到前面的statement
Ctrl+Shift+F = 展开/折叠当前行
Ctrl+Shift+A = 全部折叠
Ctrl+Shift+E = 全部展开
Ctrl+G = 转到行号...

编辑
===========================
双击单词 = 选定单词
Ctrl+U = 所选单词转换为大写
Ctrl+L = 所选单词转换为小写
Ctrl+右箭头=转到下一个字
Ctrl+左箭头=转到前一个字
Ctrl+向上箭头=向上滚动窗口
Ctrl+向下箭头=向下滚动窗口
Ctrl+/ = 转到前面subword (单独的词或子字开头的大写字母。例如,subword "Count" in word "filesCount")
Ctrl+\ = 转到下一个subword
Alt+Home = 跳到行头
Alt+End = 跳到行末
Ctrl+Home= 转到文件开始
Ctrl+End = 转到文件末尾.
Ctrl+D = 复制行
Ctrl+T = 与上一行交换位置
Ctrl+Shift+D = 删除当前行
Ctrl+Q = “//”注释行
Ctrl+Shift+Q = /*…*/

搜索
===========================
Ctrl+F = 当前窗口搜索
Ctrl+H = 当前窗口替换
Ctrl+I = 在文件中搜索
F3 = 转到下一个word(光标所在的word)的用法
Shift+F3 = 转到上一个word(光标所在的word)的用法

窗口管理
===========================
Ctrl+PgUP = Goto between tabs from right to left
Ctrl+PgDown = Goto between tabs from left to right
Alt+Shift+Enter = 编辑窗口全屏
======================================

工具:FlashDevelop使用問題與解決方案

Q: 在使用快捷鍵時,如果輸入法是用新注音的話會有失靈的現象(我的情形)
S: 切換到美式鍵盤試試看

工具:FlashDevelop和FDT使用比較(針對程式編輯的部分) 20120511 update

這是我發表在IG社群的文章,把它整理收錄到這邊並做一些修改

在接觸FDT之前,我個人比較偏好使用FD


FD有一些和FDT類似的功能,有些功能FDT還沒有(紅字標示部分,或許只是我不知道),感覺各有優劣...

1.跳到某類別變數(...之類的)宣告的地方
(快捷鍵F4),然後再跳回原本的程式碼(快捷鍵Shift+F4)

2.類似FDT的QuickFix:Ctrl+Shift+1
2.1快速宣告變數函式類別
存取只能設private public,FDT可用選項較多,而且FDT馬上會用紅線提示你這個變數還沒有設定
2.2直接在別的地方增加已宣告的函式中的參數
FDT可能就要自己去原本含式宣告的地方自己把參數補進去.
不過既然參數都新增了,早晚都得回到宣告那邊去修CODE....

3.自訂程式碼樣版
FDT內建的樣板比較多
FlashDev在選擇樣板的時候要使用Tab(而非Enter或者滑鼠點擊),
這個部份感覺比較不直覺,想像一下:提示清單已經顯示出了唯一一個結果:for,但是按下Enter之後卻沒有任何反應...

4.可以將專案中的類別繼承關係,類別的屬性,方法整理成一份文件(網頁格式)
就像是Adobe的Help一樣的感覺,只不過差別在於就算我有針對函式做註解(AsDoc),在文件中還是看不到,或許只是有的地方還沒有去設定到
這個功能我覺得很讚,如果要給其他人看程式的架構,這個或許很好用?

5.檔案搜尋關鍵字:Ctrl+R
和FDT差不多,都可以在很多檔案裡面搜尋然後列表給你看

6.自訂巨集
感覺是可以直接在FlashDev呼叫其他程式.

目前好像還用不到.所以沒有特別深入去研究,期待有高手分享一下使用感想...