青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

《設計模式精解》學習日志1

Posted on 2007-06-14 10:09 Michael Liang 閱讀(757) 評論(0)  編輯 收藏 引用 所屬分類: 學習日志

在程序設計中,

    內聚度:程序中操作之間聯系緊密的程度,反應一個子程序內部成份相互聯系的強度

    耦合度:兩子程序之間聯系的強度

顯然,程序設計的目標是強內聚和松耦合(子程序內部完整性強,與其他子程序的聯系靈活,程度小)。

功能分解是面向過程設計時很自然的一種處理復雜問題的方法,它的基本思想是把問題拆分成多個功能步驟。,由于“需求總會發生變化”,因此不可避免的程序設計時要處理變化。對此功能分解的對策是模塊化設計,但是模塊化設計的一大缺點是低聚合和緊耦合,“牽一發而動全身”。

UML Relationships(關系)初探

基本關系有四種:依賴(Dependency), 關聯(Association), 泛化(Generalization),實現(Realization)
每種都可以細化為變體。

依賴關系(Dependency)
    是事物(Thing)之間的關系, 因此包括類之間的關系、包之間的關系、用例之間的關系、對象之間的關系、建模元素與模型之間的關系等。
    依賴關系用虛線加普通箭頭表示,由客戶(源*)指向供應(目標*)

    兩個類之間的依賴關系可以是:
    客戶類訪問定義在供應者類內部的數據值
    客戶類的操作調用了定義在供應者類內部的操作
    客戶類的返回類或參數是供應者類的實例
    如果在順序圖中的兩個對象存在消息的傳送,而且它們之間沒有結構方面的連接,可以在類圖上用依賴關系建模。
   
類之間依賴關系的細化:
a.友元依賴<<friend>>
    目標類視源類為友元,允許源類訪問目標類的所有私有屬性和操作
    例: 目標類:二叉樹,源類:迭代器
b.導出依賴<<derive>>
    源類可以從目標類通過計算得出。
    例: 源類: 年齡Age   目標類: 出生日期
c.細化依賴<<refine>>
    在類圖中表示同一模型的不同詳細程度的規格說明,源類比目標類更為詳細.
d.實例化依賴<<instantiate>>
    一個類的對象是由另一個的對象創建,則稱為實例化依賴。源類創建了目標的一個實例
    例:源類: Array        目標類: Stack 
e.使用依賴<<use>>
    不加任何修飾的依賴即為使用依賴。
    如Binary Search Tree類使用依賴于Binary Tree類
f.綁定(Binding)依賴
    目標類是模板類,源類是模板實例化后的類
   
包(package)之間依賴關系的細化:
a.訪問依賴<<access>>
    源包被授予了可訪問目標包的權限
b.導入依賴<<import>>
    它表明了源包可以訪問目標包里的元素,但各個包有自己獨立的命名空間,這意味著屬于不同包的兩個元素可以重名。導入
    依賴可以使目標包內的公共可見元素進入源包的命名空間。

用例(use case)之間依賴關系的細化:
a.包含依賴<<include>>
    源用例顯式的包含目標用例作為其行為的一部分。此時源用例稱為基用例,目標用例稱為內含用例
    如果兩個用例存在包含依賴關系,則說明基用例的動作序列中含有特定的步驟把內含用例的動作序列包含進來
b.擴展依賴<<extend>>
    它表明源用例擴展了目標用例的行為。此時,源用例稱為基用例,目標用例稱為擴展用例。
    擴展用例在特定條件下為基用例提供附加的動態行為。
    例如,在人機交互過程(基用例)中出現差錯時進行的異常處理即為擴展動作。
    擴展依賴與包含依賴的區別在于,如果僅將擴展從基用例地動作序列中去除,基用例仍然是語義完備的,
    即它的執行仍將產生有意義的結果。而包含依賴則不然。

對象之間依賴關系的細化:
a.轉換依賴<<become>>
    當需要在交互圖上表示對象狀態的轉換時可以用轉換依賴。主要強調由于消息而導致對象狀態的改變。
    轉換依賴連接的目標對象和源對象是同一個對象。
b.調用依賴<<call>>
    當需要在交互圖或對象圖上顯式強調對象之間或操作之間的調用關系時要用調用依賴。
    它表明源對象引用了目標對象的操作,或源操作引用了目標操作。
c.復制依賴<<copy>>
   為了在交互圖或活動圖上描述對象復制的動作可以采用復制依賴。它連接兩個對象,目標對象是源對象的完全相同而又獨立的副本。
d.發送依賴<<send>>
    它連接一個對象(在源端)和一個消息(在目標端),表明源對象在交互過程中發送了一個消息,可以用在狀態機的描述中。
    它針對內嵌有狀態機的對象,可用來描述如何通過發送信號以產生某種事件的動作。
   
建模元素與模型之間的依賴關系:
a.回溯依賴<<trace>>
    它連接兩個模型元素,表明目標是源的歷史上的前驅。如交互和協作就是從用例導出的。
   
關聯關系(association)
    關聯是一種結構關系, 它描述一組鏈,這些鏈是類之間或類與接口之間的連接。
    通過這種連接,一個對象可以訪問另一個對象的屬性或調用另一個對象的操作。
    關聯是雙向的,其中的角色代表一個類的對象在另一個類中的存在。
    例: 兩個類Employee, Employer存在關聯關系
   
    聚合(aggregation)是一種特殊類型的關聯, 它描述整體與部分的結構關系。整體端有一個菱形作為標記
    復合聚合(composite aggregation)是一種特殊的聚合關系, 又稱組合,它表明整體對象與部分對象有相同的生存周期。
    角色的復雜度(Multiplicity)指角色在關聯關系中出現的次數,如1, 0..1, 1..*, *等

    例如,對應于現實中的飛機場Airport, 可以說它聚合了0..*架飛機Aircraft,同樣的,一架Aircraft被0..1個Airport包容(可能處于飛行狀態),此時Airport與Aircraft的關系是聚合。

    又如,一輛汽車Car,用于4~5個輪胎Tire(可能有備用胎),Car和Tire是密不可分的,Tire是Car的一部分,因此用組合來表示二者之間的關系。一個Car組合了4..5個Tire,一個Tire屬于1輛Car

    聚合和組合都可以說是一種has-a關系,“擁有”,Airport“擁有”Aircraft,Car“擁有”Tire,二者的區別在于組合強調的“擁有”是真正意義的部分與整體的關系,從程序設計角度來看組合關系雙方生存期一致,同生共死;聚合的“擁有”則更多強調部分的一個集合與整體有從屬關系,部分集合內部各元素是獨立的。

 

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美与欧洲交xxxx免费观看| 亚洲欧美日韩一区二区三区在线| 久久国产精品一区二区| 亚洲自啪免费| 好吊日精品视频| 久久一区亚洲| 免费成人高清视频| 亚洲精品乱码久久久久久蜜桃麻豆| 欧美1区2区视频| 男人天堂欧美日韩| 日韩性生活视频| 亚洲一区二区在线播放| 国产欧美视频一区二区| 老司机aⅴ在线精品导航| 免费观看30秒视频久久| 正在播放亚洲| 香蕉成人久久| 亚洲国产精品ⅴa在线观看 | 国产精品永久入口久久久| 欧美亚洲一区二区在线观看| 久久岛国电影| 亚洲精品免费在线| 亚洲淫片在线视频| 亚洲第一主播视频| 9色porny自拍视频一区二区| 国产精品网站在线播放| 老鸭窝毛片一区二区三区| 欧美aaa级| 午夜精品久久久久99热蜜桃导演| 午夜精品福利一区二区蜜股av| 亚洲成色www8888| 亚洲视频一区二区| 在线观看视频日韩| 亚洲色在线视频| 亚洲成色777777女色窝| 亚洲图片激情小说| 亚洲国产欧美久久| 亚洲欧美日韩国产成人精品影院| 亚洲成人在线视频网站| 亚洲综合日韩在线| 亚洲精品在线视频| 久久久久久久久伊人| 亚洲一区在线观看视频| 欧美freesex8一10精品| 久久精品亚洲| 国产精品大片免费观看| 亚洲国产欧美在线人成| 国产一区二区欧美日韩| 一区二区三区四区蜜桃| 亚洲精品综合久久中文字幕| 久久精品一区二区三区中文字幕 | 伊人婷婷久久| 午夜精品美女自拍福到在线 | 国产日韩视频一区二区三区| 亚洲黄色成人网| 在线观看视频欧美| 久久精品视频在线免费观看| 亚洲欧美综合精品久久成人| 欧美三级在线| 亚洲毛片在线免费观看| 亚洲精品久久久久久久久久久久久 | 日韩午夜在线| 日韩视频不卡| 欧美黄色影院| 亚洲人成艺术| 日韩亚洲欧美成人| 欧美激情亚洲另类| 亚洲精品久久久久久久久| 亚洲国产一区二区三区青草影视 | 嫩草伊人久久精品少妇av杨幂| 久久久噜噜噜久久久| 国产亚洲成av人片在线观看桃| 亚洲欧美美女| 久久综合色一综合色88| 激情六月婷婷久久| 久久免费视频观看| 亚洲第一在线综合网站| 亚洲精选视频在线| 欧美天堂在线观看| 亚洲尤物精选| 久久午夜av| 亚洲精品看片| 国产精品福利在线观看网址| 亚洲在线观看免费视频| 久久精品国产99国产精品| 国内成人精品2018免费看| 久久久久9999亚洲精品| 欧美黄色影院| 亚洲在线播放| 精品99一区二区三区| 蜜臀久久99精品久久久画质超高清 | 欧美一区二区三区视频在线 | 激情久久久久| 欧美精品www| 亚洲一区黄色| 欧美成人首页| 亚洲影视在线| 黄色成人精品网站| 欧美精品自拍| 午夜精品美女自拍福到在线| 嫩草国产精品入口| 一区二区三区欧美成人| 国产精品视频午夜| 久久综合久久美利坚合众国| 亚洲精品日韩激情在线电影| 欧美一区二区观看视频| 在线播放国产一区中文字幕剧情欧美 | 亚洲国产另类久久精品| 亚洲欧美日韩综合国产aⅴ| 国产自产高清不卡| 欧美精品粉嫩高潮一区二区 | 欧美与欧洲交xxxx免费观看| 欧美激情精品久久久久| 亚洲永久免费视频| 亚洲国内欧美| 国产精品日韩一区| 欧美成人免费全部| 久久国产精品一区二区三区四区 | 久久久精品动漫| 亚洲午夜在线观看| 亚洲国产欧美另类丝袜| 国产亚洲欧美另类中文| 欧美日韩一区在线视频| 免费一级欧美片在线播放| 午夜欧美不卡精品aaaaa| 亚洲毛片av| 亚洲国产精品综合| 欧美aⅴ99久久黑人专区| 欧美在线观看日本一区| 艳女tv在线观看国产一区| 在线观看成人av| 国产欧美日韩三区| 国产精品高潮呻吟久久av黑人| 欧美99久久| 久久一区亚洲| 久久人人超碰| 欧美在线高清| 欧美一区二区在线看| 亚洲一区久久久| 亚洲网站在线播放| 中国av一区| 亚洲午夜av在线| 亚洲性色视频| 午夜精品区一区二区三| 亚洲一级高清| 亚洲欧美日韩一区| 亚洲欧美国内爽妇网| 亚洲一区在线免费观看| 亚洲私人影院在线观看| 一区二区三区av| 亚洲性夜色噜噜噜7777| 亚洲欧美久久久| 欧美一区二区免费| 久久成人免费电影| 久久性天堂网| 欧美精品免费看| 欧美日本韩国一区二区三区| 欧美片第1页综合| 欧美视频在线播放| 国产精品青草综合久久久久99| 国产精品美女视频网站| 国产农村妇女精品| 影视先锋久久| 一本色道久久精品| 亚洲综合社区| 久久久亚洲欧洲日产国码αv| 久久久青草婷婷精品综合日韩| 久久嫩草精品久久久精品一| 蜜臀av国产精品久久久久| 亚洲国产欧美日韩精品| 一区二区三区精品视频| 欧美一区二区三区在线播放| 久久综合狠狠综合久久综青草| 欧美成人小视频| 国产精品久久久久久久久久尿 | 99精品欧美一区| 欧美一级理论片| 欧美不卡在线视频| 一本色道久久综合亚洲二区三区| 亚洲综合三区| 欧美不卡高清| 国产片一区二区| 亚洲欧洲中文日韩久久av乱码| 在线亚洲美日韩| 久久久久99精品国产片| 亚洲激情成人在线| 欧美一区二区三区在线观看视频 | 先锋影音久久| 欧美理论电影网| 国产专区综合网| 亚洲一区久久久| 欧美不卡高清| 亚洲欧美国产精品桃花| 欧美黑人国产人伦爽爽爽| 国产日韩综合一区二区性色av| 亚洲久久一区二区| 麻豆精品在线视频| 亚洲免费网站| 欧美涩涩视频| 亚洲美女在线一区|