[Java][概念]Higher cohesion(高凝聚性)_Looser coupling(低相依性)

是不是一個好的程式有兩個指標可以判斷是否為高凝聚性,是否為低相依性。

Higher cohesion(高凝聚性)想表達的其實就是事物凝聚的狀態或程度。

Looser coupling(低相依性)想表達的是程式單元之間牽連相依的程度,模組之間的相依性越寬鬆愈好。

 

...繼續閱讀 »

[Java][老師範例][集合]Vector-Hashtable

 1.Hashtable

Hashtable 內部是一個"類似表格"的資料結構來儲存資料, 每一筆資料都有
   對應的索引鍵(key) , 這索引鍵是物件的型態 , 但是通常為方便起見, 大
   部份的情況都是利用"字串"值當做索引鍵(key). 反之當欲取出這筆資料時,
   也是利用剛剛所設定的索引鍵值來取出資料
 
 2.欲儲存不同的資料時必需用不同的索引鍵, 否則其索引鍵所對應資料值為最
   後儲存的那筆資料
 
 3.Hashtable 的資料也是物件的型態, 所以可以儲存任何形式的資料, 使用者
   取出資料的同時, 必須注意該資料的型態而自行作物件資料轉換(casting)的動作. 

...繼續閱讀 »

[Java][概念][集合]集合概念-Vector

Vector是一個可以放入「任意型態」的「動態陣列」,動態陣列的意思是可以依照裡面的內容物做長度的增減。

自從JDK1.2之後新的List介面出現後,Vector就加入了List介面家族,並實作新的介面方法。

Vector類別等同於ArrayList類別,那我們為什麼要學她?就用ArrayList就好啦

答案是,Vector它提供了同步化的優點(或是負擔),對多執行序是很重要的,所謂同步化的優點簡單來說就是JVM會去做同步鎖定,一次只能有一個人去做事,就不會有資源衝突,但也比較慢。

...繼續閱讀 »

[Java][概念][集合]集合概念-Iterator

集合物件:

  • 集合物件是指一群相關聯的資料,集合在一起組成一個物件
  • 集合物件裡的資料,稱為元素

集合物件分類:

  1. Collection介面:可以持有各自獨立的物件
    • Set:無特定順序,不准許重複,HashSet Class實作了Set介面
    • List:有特定順序,准許重複,ArrayList類別實作了List介面
  2. Map介面:持有成對的Key-value物件

 

...繼續閱讀 »