程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 品味編程~底層開發人員應該這樣設計一個字體類

品味編程~底層開發人員應該這樣設計一個字體類

編輯:C#入門知識

品味編程,不是一味的根據書本上的知識講,而是在實踐開發過程中總結出來的,比較有感悟的東西,對於一個問題,可能有多種方法,但無論你使用哪種方式,請記住,一定要用代碼的擴展性,可讀性及健壯性上考慮,你寫的代碼是否合理,這需要你自己用心去體會,用心去設計,在代碼設計上,請千萬不要模稜兩可!

就像下面的例子,都是設計一個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特性,這說時,它可以支持位運算,本例中,提供了一個方法,它以迭代的方式返回位運算的結果集,這是一個亮點,我們通過這個方法,可以擴展到其它枚舉類型如,用戶權限設計(查看,刪除,添加,更新),文件屬性設計(只讀,歸檔,隱藏),對於底層開發人員來說,需要將這些類型對應的方法進行開發,這樣的設計對於表層開發人員是很友好的!

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved