2008年10月20日 星期一

Singleton in SNIT(SNIT's Not Incr Tcl)

在 SNIT 中要怎麼實作 Singleton pattern 呢?可以參考這段程式:

package require snit

snit::type Singleton {
    typevariable _instance {}
    
    typeconstructor {
        set _instance [Singleton %AUTO%]
    }
    
    constructor {args} {
        if {$_instance != {}} {
            error "Singleton can only be accessed through \"getInstance\""
        }
    }
    
    typemethod getInstance {} { 
        return $_instance
    }
}

2008年8月26日 星期二

SNIT(SNIT's Not Incr Tcl)

我寫了一篇 SNIT 筆記,筆記內容大部份是從 Snit FAQSnit User Manual 中整理出來的。電子檔可在這個鏈結中取得:SNIT.pdf

註:SNIT(SNIT's Not Incr Tcl) 是 Tcl 的一套件物件系統,它是採 Component/Delegation (元件/委派)的 Object based model。Snit 所說的 data type 比較像 ada, algol 這類語言裡的 Abstract Data Type。