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

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

Posted on 2007-06-14 10:09 Michael Liang 閱讀(751) 評論(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>
            国产精品免费一区二区三区观看| 欧美国产日韩亚洲一区| 经典三级久久| 黄色综合网站| 亚洲国产经典视频| 亚洲精品麻豆| 亚洲视频狠狠| 欧美诱惑福利视频| 欧美成人免费在线| 99伊人成综合| 亚洲自拍偷拍一区| 久久精品视频免费播放| 欧美www视频| 欧美日韩中文字幕综合视频| 国产精品麻豆va在线播放| 国产精品普通话对白| 国一区二区在线观看| 亚洲国产精品成人| 亚洲视频在线一区| 久久久精品视频成人| 亚洲国产欧美一区二区三区丁香婷| 亚洲国产第一| 亚洲午夜视频在线| 久热爱精品视频线路一| 欧美日韩精品在线观看| 国产三级精品在线不卡| 亚洲人精品午夜| 午夜精品久久久久影视| 欧美成人午夜激情在线| 亚洲免费视频中文字幕| 欧美激情在线观看| 狠狠色狠狠色综合人人| 亚洲一级网站| 亚洲第一区在线观看| 欧美亚洲免费电影| 欧美午夜电影完整版| 国内精品久久久久久久影视麻豆| 欧美成人免费全部| 欧美午夜在线| 亚洲国产天堂久久综合网| 亚洲一区二区在线播放| 欧美成年人视频网站欧美| 亚洲午夜精品一区二区| 欧美裸体一区二区三区| 亚洲国产欧美另类丝袜| 久久精品电影| 亚洲欧美久久久| 国产精品九九久久久久久久| 99精品热视频| 亚洲激情视频网| 久久综合伊人77777| 国语自产精品视频在线看一大j8 | 欧美日韩高清不卡| 亚洲韩国日本中文字幕| 美女国产一区| 久久精品综合| 国产主播精品在线| 久久精品国产清高在天天线| 亚洲欧美在线另类| 国产欧美激情| 久久精品中文字幕一区| 午夜国产精品视频| 国产欧美91| 久久男人av资源网站| 久久成人18免费观看| 国产一区二区三区久久精品| 久久国内精品视频| 久久久久久成人| 在线看不卡av| 亚洲第一页中文字幕| 欧美国产免费| 亚洲视屏一区| 午夜精品一区二区三区电影天堂| 国产午夜精品全部视频在线播放| 久久国产精品色婷婷| 久久精品一二三| 亚洲人成网站999久久久综合| 亚洲黄色免费电影| 欧美午夜久久| 久久精品人人爽| 久久米奇亚洲| 日韩一区二区免费高清| 日韩亚洲精品视频| 国产视频在线一区二区 | 亚洲欧洲精品一区二区三区| 亚洲国产日韩精品| 国产精品黄色| 免费成人毛片| 欧美涩涩视频| 亚洲黄色免费电影| 日韩视频二区| 国产精品一区二区久久精品| 亚洲小视频在线| 欧美一区二区三区四区高清 | 在线视频一区二区| 性欧美8khd高清极品| 在线高清一区| 999在线观看精品免费不卡网站| 国产精品区二区三区日本| 久久影视精品| 欧美午夜不卡| 久久综合色播五月| 欧美色视频在线| 欧美成年人网站| 国产欧美精品在线| 亚洲欧洲日本一区二区三区| 国产欧美va欧美不卡在线| 亚洲动漫精品| 一区二区三区在线观看国产| 日韩系列在线| 亚洲人成7777| 久久久久**毛片大全| 欧美一级理论片| 欧美日韩亚洲一区二区三区| 免费看的黄色欧美网站| 国产伦精品一区二区三区照片91| 91久久一区二区| 亚洲国产一区二区三区a毛片| 亚洲欧美日韩在线观看a三区 | 国产一区二区三区日韩| 一个色综合av| 日韩一级黄色大片| 麻豆av福利av久久av| 久久精品盗摄| 国产老肥熟一区二区三区| 一本久久综合亚洲鲁鲁五月天| 亚洲精品免费在线观看| 久久综合九色综合欧美就去吻| 久久九九精品| 国产亚洲精品一区二区| 亚洲在线成人| 欧美一区免费| 国产精品亚洲а∨天堂免在线| 一区二区三区不卡视频在线观看| 亚洲美女一区| 美女爽到呻吟久久久久| 欧美黄色一区二区| 亚洲黄色天堂| 欧美成人免费播放| 亚洲电影观看| 99精品欧美一区| 欧美日韩一区二区国产| 一区二区三区高清视频在线观看| 亚洲九九九在线观看| 欧美黑人一区二区三区| 亚洲欧洲日韩在线| 在线视频你懂得一区| 欧美午夜宅男影院在线观看| 亚洲手机在线| 久久久精品性| 亚洲一二三区在线观看| 久久国产精品99国产| 免费观看在线综合| 一区二区在线观看视频| 久久婷婷蜜乳一本欲蜜臀| 亚洲第一天堂av| 亚洲在线免费| 国产视频不卡| 你懂的视频一区二区| 亚洲另类在线视频| 欧美在线综合| 1024亚洲| 欧美视频在线视频| 亚洲欧美综合精品久久成人| 久久婷婷综合激情| 日韩亚洲精品在线| 国产精品啊啊啊| 久久久久国产精品人| 91久久久亚洲精品| 久久精品国产亚洲一区二区三区| 亚洲国产精品电影| 国产精品免费网站在线观看| 久久超碰97中文字幕| 亚洲日本一区二区| 久久久久国产一区二区| 亚洲作爱视频| 激情成人综合| 国产精品高清一区二区三区| 欧美在线地址| 99热这里只有成人精品国产| 久久久精品国产一区二区三区| 99精品欧美一区二区三区| 国产亚洲精品久久久久动| 欧美日韩高清区| 久久美女性网| 午夜在线观看欧美| 99精品欧美一区二区三区综合在线 | 欧美精品在线视频观看| 久久riav二区三区| 日韩亚洲欧美一区| 欧美激情五月| 久久三级福利| 午夜在线不卡| 亚洲午夜一级| 99av国产精品欲麻豆| 精品91在线| 国模精品娜娜一二三区| 国产精品久久婷婷六月丁香| 欧美激情一区二区三区不卡| 久久久99精品免费观看不卡|