国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

在PACKAGES之間建立關聯

2019-11-18 13:27:24
字體:
來源:轉載
供稿:網友

  作為一個開發人員,我們知道一個靈活的系統能夠保證系統良好的兼容性及擴展性。當提及系統的靈活結構這一話題時,我們通常都說到類的關聯,而很少提到系統中package的結構。事實上,認真設計package結構對系統的靈活性有著很重要的作用。
  
  在本文中,我們將討論java程序中設計package關聯的重要性。在后面的章節里,我們會陸續講述當設計package關聯時一些具有指導性的啟發式知識。
  了解更多的Java知識
  
  你可以閱讀本站關于Java的文章,以學習更多的Java知識。
  Package關聯
  當設計一個系統的package結構時,通常很少花時間在packages之間的關聯設計上,Packages只是被認為是類的容納器。事實上,package之間的關聯才是許多體系模式的基礎。膚淺的理解體系模式的粗枝斷葉不能說明這些模式完整地匹配程序的內容,相反,理解最基本的概念,我們才可以表達很多功能強大的體系模式。
  
  設計package關聯
  使用標準統一模型語言(UML)可以很輕易地描述packages之間的關聯。兩個packages之間的關聯稱為package從屬。在圖A中,我們可以看到描繪client和service的兩個packages,其中每一個packages包含一個簡單的類。在package client一端,類的名稱為client,在package service一端,類的名稱為service。點畫線連接了這兩個packages,這說明client package中至少有一個類與service package中的一個類有關聯。這一點畫線即為一個從屬關系,也是一個UML模型成員。這一點畫線的方向是單一的,說明service package中的類與client package中的類沒有結構上的關聯。
  
  Figure A
   在PACKAGES之間建立關聯(圖一)
  Package dependency diagram
  
  仔細查看兩個類之間的關系,顯然,service中的類的改變一定會影響client中的類,因為這兩個類之間有關聯。相反則不然,client中類的改變不會影響到service中的類,因為點畫線是有方向性的。Packages之間的從屬關系與類之間的關系是一致的。因為package client對package service有一個依靠關系,service package內容的改變一定會影響到client package中的內容。
  
  這些package之間的關聯的值具有兩重意思。第一,程序中的packages一定比類少。圖A中,我們可以看出,client package內容的改變不會影響到其他的package,因為沒有其他的package依靠于client package。我們在開發過程中可以集中精力在類的關聯及類改變所帶來的影響上。
  
  Package關聯在系統設計中占有很重要的部分。Package與類的關聯設計會生成各自獨立部分。類關聯提供很細微的結構查看,而package則提供相對粗糙的查看。由于這些查看結果代表相同的系統,查看之間要相互匹配,假如不匹配則一定要修正。
  Package關聯應該是單一方向
  開發人員應該力求于關聯的最小程度。雙向關聯會增加這些package的聯系,減小系統的完整性。雙向關聯出現形式有兩種:直接或間接的形式。直接形式意味著兩個package之間都有依靠關系,如圖B中的左邊所示。
  
  Figure B
   在PACKAGES之間建立關聯(圖二)
  Package relationships
  
  直接雙向關聯比較輕易識別并輕易修正。轉移一個package中的成分到另一個新建的package會生成新的從屬關系,如圖C的左邊所示。
  
  Figure C
  在PACKAGES之間建立關聯(圖三)
   Direct bidirectional relationship
  間接雙向關聯比較難于識別。最輕易的識別方法是,生成代表所有packages關聯的一個圖形,選擇最簡單的package作為起始點,順著兩兩之間的從屬關系查找,假如最后又返回到起始點,則這一方向即是間接雙向關聯。
  
  注重的要害事項
  讓我們總結一下設計package關聯時應該注重的要害事項。
  
  Package之間的關聯——package之間的單一方向會減小系統的關聯,并且輕易維護。
  雙向關聯的影響——雙向關聯會限制很多功能,并且表現出比較差的package升級性。
  層——通常的,級別高的層會依靠級別低的層。所以級別低的層會很少與其他層有關聯,這就增加了packages的使用功能。
  預見功能
  package關聯通常是程序完成了以后才記起的想法。一個優秀的系統不僅能反映出良好的類彈性,而且也反映出良好的package彈性。經過認真考慮的package關聯將會產生比較少的錯誤。設計package關聯時非凡注重的是:力求單向關聯。因為它能減少系統的連接,增加系統的靈活性,這樣就可以提高系統的維護性和穩定性。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 甘孜| 浪卡子县| 宝应县| 西平县| 广水市| 安平县| 囊谦县| 池州市| 城步| 买车| 藁城市| 榆社县| 南皮县| 古蔺县| 翁源县| 中方县| 金塔县| 延津县| 灌南县| 千阳县| 乳山市| 靖安县| 龙井市| 安阳县| 乃东县| 二手房| 古田县| 合阳县| 陵川县| 贺兰县| 峨山| 吐鲁番市| 灌云县| 无锡市| 黄山市| 交口县| 博爱县| 师宗县| 五大连池市| 临颍县| 金秀|