品味編程,不是一味的根據書本上的知識講,而是在實踐開發過程中總結出來的,比較有感悟的東西,對於一個問題,可能有多種方法,但無論你使用哪種方式,請記住,一定要用代碼的擴展性,可讀性及健壯性上考慮,你寫的代碼是否合理,這需要你自己用心去體會,用心去設計,在代碼設計上,請千萬不要模稜兩可!
就像下面的例子,都是設計一個Font類,可兩種結果卻完全不同
例子1:
Size { ; Unit{; Name { ; Style { ;
例子2:比較注重代碼可讀性,擴展性及合理性,雖然代碼長度增加了,但並不啰嗦,對於上層的開發人員來說,是友好的。
= = = = = FontSize(== Size { ; Unit Unit { ; FontSize Size { ; Name { ; FontStyle Style { ;
提供一下輸出字體樣式的方法
IEnumerable<> ((fontStyle & FontStyle.Bold) == ((fontStyle & FontStyle.Italic) == ((fontStyle & FontStyle.Strikeout) == ((fontStyle & FontStyle.Underline) == (fontStyle ==
OK,進行測試一下
Font font = = = FontSize(= FontStyle.Bold |=>
結果如圖:
事實上,從例子2中,我們可以看到很多東西,它用到了類,結構,枚舉,迭代等等,其中我們看到了FontStyle這個枚舉它被標識了Flags特性,這說時,它可以支持位運算,本例中,提供了一個方法,它以迭代的方式返回位運算的結果集,這是一個亮點,我們通過這個方法,可以擴展到其它枚舉類型如,用戶權限設計(查看,刪除,添加,更新),文件屬性設計(只讀,歸檔,隱藏),對於底層開發人員來說,需要將這些類型對應的方法進行開發,這樣的設計對於表層開發人員是很友好的!