design pattern 大多係為擴建性可測性等而非可讀性而設
無論用咩pattern 可讀性最重要係descriptive
由名稱屬性類別到類型結構
倘若metadata 能夠清晰準確表達對應功能
不但肉眼, compiler IDE test tool 等等都可以發揮最大功用
例如builder pattern 的build() 係非常唔descriptive 的
有時仲會出現object build(object) 呢種完全睇唔出點用同做乜嘅function
呢個時候就要盡量減少build() 裡面嘅直接操作
將操作抽出嚟建立另一個可讀性較高嘅function
FriedRiceChef {
SteamRice()
FryRice()
Cook()
}
SteamedFishChef {
SeasonFish()
SteamFish()
Cook()
}
如此一來即使未細閱實現方法都已經可以大致掌握每個類別嘅功能
好似炒飯大廚似乎只係炒緊白飯咁。。。