ES2 MUD LIB :: 東方故事二(ES2) 天朝帝國 mudlib 瀏覽展示
/doc/mudlib/feature/README
□ 物件特性
物件特性的使用方法大部分是經由特定函數﹐每個物件特性各不相同﹐因此
這裡也沒什麼好說的﹐只是提供幾個以後當你要加入新的物件特性時﹐最好要遵
守的原則﹕
(1) 簡單
當你發現一個物件特性寫下來將是一個 10K 以上的大檔案時﹐想辦法縮短
或拆成兩個特性﹐盡量維持一個特性所提供的功能單純化。
(2) 記憶體
請你記得物件特性是被繼承的﹐而繼承這個特性的物件將會 copy 一份所有
宣告在這個特性中的 global variables ﹐因此如果一個特性中需要用到許
多具有常數性質的變數( 即﹐執行過程中不隨繼承這個特性的物件而變 )﹐
試著用 daemon 的形式以節省記憶體﹐如 ALIAS_D﹐SKILL_D 等。
(3) 效率
採用物件特性的一個原因就是避免「深層繼承」﹐雖然 driver 在執行上並
沒有太大的差異﹐但是對於大部分巫師而言﹐要了解或除錯一個繼承得亂七
八糟的物件是相當困難的﹐盡量用「一個標準物件加若干個物件特性」的模
式去定義所有物件。