Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 中級開發 >> Android開發之Java設計模式基礎篇

Android開發之Java設計模式基礎篇

編輯:中級開發

今天我們就android開發中的一些設計模式做一些基礎性的掌握,在上一次的 android開發之Java設計模式入門篇 中我們提到了一些有關 Java基礎內容,本次就android項目的架構設計相關內容做分析:

  1. 靜態工廠方法

   靜態工廠方法可以算是工廠方法加單例模式的整合在Android平台上,由於android的Context可以很好的傳遞實例,靜態工廠方法可以提到傳統的類構造器,對於一些邏輯的服務提供類可以考慮這樣的設計,比如文件下載、圖片裁剪等操作。

  2. Java的類訪問權限

   對於程序的可靠性而言,成員變量盡量私有,通過暴漏公開的方法來訪問這些私有成員,提供類似getXXX和setXXX這樣的方法,不僅是Java,這點C#對於屬性的操作概念在Dot Net上已經深入人心,好處就是可以阻止繼承後的訪問換亂問題。

  3. 使用枚舉替代常量

   Java在JDK 1.5開始加入了enum枚舉類,相對於常規的final int這樣的定義一些常量更簡單安全,畢竟常量是一堆類似整形的數值,打印起來沒有過多的意義,枚舉對於繼承後訪問的清晰度可以很好的杜絕隱患發生。

  4. 使用列表優先於數組

  Java的集合類很方便,使用List類的列表在開銷上比Object [ ] 這樣的數組大,但是對於泛型的支持而言更好用強大。也可以避免一些不必要的錯誤,比如

  cwjObject [] obj= new int[1];

  obj[1] = "android開發網測試"; //這樣會在運行時拋出類似ArrayStoreException這樣的異常。

  而使用列表則為:

  List<cwjObject> obj=new ArrayList<int>();

 obj.add("android123測試"); // 由於傳入列表的是字符串,和構造時類型的int不同,在編譯時就提示錯誤,可以避免一些不必要的情況發生。

  5. Java的foreach代替for

  Java的foreach仍然使用for來寫,這點和C#直接用foreach關鍵字有點不同,但是使用方法是一樣的,除了更簡潔外,其實foreach比傳統的for更加優化,比如傳統的for第二個限制位,一般訪問屬性或方法,比如說

  for (int x=0;x<obj.size();x++)  //這句的限制符號每次都會執行obj.size() 方法,當然android開發網相信size()方法訪問的是一個數組的length屬性,活著是

  for (int y=0;y<obj.length;y++) //這裡同樣每次循環都執行obj.length對於Java VM的開銷主要由這個obj的長度決定的,而android SDK文檔的推薦方式是

  int nSize=obj.size() 或 int nSize=obj.length

  for (int z=0;z<nSize;z++) ,但是這還不是最優的方法,下面android123給大家更好的foreach方式的替代方法:

  for (SmartObject singleObj : SmartObjectArray)
  {
        singleObj.setName("cwj"); 或 singleObject.strName="cwj";
  }

   有關Android開發中的Java設計模式技巧,希望國內android開發者打好Java基礎,別扎堆實現鋪天蓋地的應用,目前不說惡意軟件問題,就大部分的軟件設計質量令人擔憂,還有很多應用基本上就是J2EE或J2SE開源項目的移植版

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved