1.靜態工廠方法
靜態工廠方法可以看作是工廠方法和單例模式在Android平臺上的集成。因為Android的上下文可以很好的傳遞實例,所以靜態工廠方法可以引用傳統的類構造函數。對於壹些邏輯上的服務提供類,可以考慮這樣的設計,比如文件下載、圖片裁剪等操作。
2.Java的類訪問權限
就程序的可靠性而言,成員變量盡可能私有。通過公開公共方法,提供getXXX、setXXX之類的方法來訪問這些私有成員,並不是只有Java才有。C#中屬性操作的概念在點網上已經深入人心,好處是可以防止繼承後的訪問亂序問題。
3.使用枚舉替換常數
Java在JDK 1.5中開始添加enum枚舉類,比常規的final int定義更簡單、更安全。常數畢竟是壹堆塑料似的值,打印出來沒有太大意義。為了繼承後訪問的清晰性,枚舉可以很好的防止隱患的發生。
4.在數組前使用列表。
Java的集合類很方便。使用list類的List比Object []之類的數組開銷更大,但對於泛型的支持來說,它更有用、更強大。還可以避免壹些不必要的錯誤,比如
cwjobobject[]obj = new int[1];
Obj[1] = "android開發網絡測試";//這會在運行時拋出類似ArrayStoreException的異常。
使用列表是:
listcwjobobject obj = new arraylistin();
Obj.add("android123測試");//由於傳入列表是字符串,與構造時int的類型不同,所以編譯時會提示錯誤,可以避免壹些不必要的情況。
5.在Java中用foreach代替for
Java的foreach還是用for寫的,和C#直接使用foreach關鍵字有壹點不同,但是用法是壹樣的。除了更簡潔之外,foreach實際上比傳統for更優化,比如傳統for的第二個limit位,壹般訪問屬性或方法,比如
for(int x = 0;xobj . size();x++) //的限制符號,每次都會執行obj.size()方法。當然,Android開發網認為size()方法訪問的是數組的長度屬性,是活的。
for(int y = 0;yobj.lengthY++) //這裏Java VM執行obj.length的代價主要由這個obj的長度決定,Android SDK文檔推薦的方式是
Int nSize=obj.size()或intnsize = obj.length。
for(int z = 0;znSizeZ++),但這不是最佳方法。下面的Android123為foreach方法提供了壹個更好的替代方法:
for(智能對象singleObj:智能對象數組)
{
single obj . setname(" cwj ");或singleObject.strName = " cwj
}
關於Android開發中的Java設計模式技巧,希望國內的Android開發者能夠夯實Java基礎,不要紮堆實現鋪天蓋地的應用。目前,大多數軟件設計的質量令人擔憂,許多應用程序基本上都是J2EE或J2SE開源項目的移植版本。