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

《設計模式精解》學習日志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>
            aa国产精品| 亚洲伊人久久综合| 久久久久久久久久久久久9999| 一本色道久久综合亚洲精品高清| 老色批av在线精品| 欧美大尺度在线观看| 亚洲国产精品久久久久婷婷老年 | 欧美成人精品不卡视频在线观看 | 91久久久久久国产精品| 99精品国产一区二区青青牛奶| 99在线|亚洲一区二区| 欧美日韩一级大片网址| 国产综合色产| 99国产精品久久久久久久成人热| 欧美夜福利tv在线| 欧美激情在线有限公司| 亚洲午夜一区二区| 欧美极品一区二区三区| 国产午夜精品一区二区三区欧美 | 娇妻被交换粗又大又硬视频欧美| 亚洲国产影院| 欧美在线观看一区| 夜夜嗨av色一区二区不卡| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ入口 | 亚洲韩国日本中文字幕| 欧美日本一区二区三区| 亚洲国产精品综合| 中文一区二区| 欧美日韩国产黄| 亚洲人成网站999久久久综合| 午夜精品亚洲| 一区二区三区四区在线| 国内精品福利| 99精品欧美一区| 精品成人免费| 亚洲小少妇裸体bbw| 亚洲国产裸拍裸体视频在线观看乱了中文 | 欧美日韩一区二区视频在线| 久久爱www久久做| 亚洲欧美日韩综合国产aⅴ| 欧美成人免费全部观看天天性色| 亚洲午夜一区| 亚洲剧情一区二区| 欧美mv日韩mv国产网站app| 黄色亚洲大片免费在线观看| 久久久噜噜噜久久人人看| 欧美一进一出视频| 国产日韩欧美不卡| 亚洲精品字幕| 亚洲丁香婷深爱综合| 欧美fxxxxxx另类| 久久亚洲二区| 亚洲第一精品福利| 亚洲国产一区二区精品专区| 国产女主播一区二区三区| 欧美一区成人| 欧美日韩三级| 亚洲欧洲日产国产网站| 精品999网站| 欧美在线免费一级片| 国产在线欧美| 亚洲欧美另类中文字幕| 精品99视频| 亚洲欧美日韩国产中文| 亚洲一区尤物| 久久精品国产久精国产思思| 亚洲日本成人| 亚洲黄网站黄| 91久久精品国产91久久性色tv| 久久国产88| 久久综合久久综合九色| 欧美 日韩 国产一区二区在线视频 | 欧美激情无毛| 最近中文字幕日韩精品| 亚洲欧洲美洲综合色网| 欧美国产精品专区| 亚洲综合不卡| 国产欧美日韩高清| 欧美一区二区三区四区视频| 欧美一级理论片| 国产日韩久久| 久久综合色影院| 亚洲欧美中文日韩在线| 国产伦精品一区二区三区视频孕妇| 久久久精品国产一区二区三区| 国产日韩精品综合网站| 久久精品人人爽| 午夜精品久久久久久99热| 国产精品一二| 亚洲免费观看高清完整版在线观看| 国产偷自视频区视频一区二区| 欧美在线视频日韩| 亚洲国产精品ⅴa在线观看| 99国产麻豆精品| 国产精品卡一卡二卡三| 欧美激情第六页| 中国日韩欧美久久久久久久久| 久久九九有精品国产23| 欧美激情在线观看| 亚洲欧洲99久久| 亚洲大片在线| 欧美视频中文字幕| 日韩午夜三级在线| 久久九九精品| 一区二区成人精品| 欧美大秀在线观看| 亚洲午夜成aⅴ人片| 鲁大师影院一区二区三区| 99视频有精品| 国产亚洲一级| 久久高清国产| 亚洲美洲欧洲综合国产一区| 久久久久国产精品一区| 一区二区三区**美女毛片| 红桃视频亚洲| 国产精品久久久久久久久搜平片 | 亚洲国产精品99久久久久久久久| 亚洲在线一区二区| 最新中文字幕一区二区三区| 国产亚洲精品aa| 欧美三级午夜理伦三级中视频| 久久一区二区三区四区| 亚洲女优在线| 一区二区三区导航| 香蕉尹人综合在线观看| 亚洲精品乱码久久久久久| 国产亚洲精品久久久久动| 欧美日韩国产综合在线| 欧美成人有码| 老司机久久99久久精品播放免费 | 久久久蜜桃精品| 欧美黄色一级视频| 久久精品青青大伊人av| 一区福利视频| 国产亚洲精久久久久久| 国产精品久久久久77777| 欧美日韩成人免费| 免费国产一区二区| 久久久久久久一区二区三区| 欧美一区二区三区久久精品| 午夜久久黄色| 欧美激情va永久在线播放| 久久夜色精品国产噜噜av| 欧美一站二站| 欧美在线999| 久久精品国产清高在天天线| 欧美一区二区高清在线观看| 亚洲女优在线| 在线观看欧美日韩国产| 欧美成人精品福利| 老司机一区二区三区| 美女999久久久精品视频| 最新日韩精品| 亚洲欧洲日本国产| 在线亚洲免费| 午夜精品久久久久久久久久久| 亚洲欧美成人精品| 欧美一区二区久久久| 久久久99精品免费观看不卡| 久久精品99国产精品日本| 久久午夜电影| 欧美激情久久久久| 欧美揉bbbbb揉bbbbb| 国产精品热久久久久夜色精品三区| 欧美亚洲第一页| 欧美国产一区在线| 欧美日韩p片| 国产视频在线观看一区二区三区| 国内精品**久久毛片app| 亚洲国产一区二区三区青草影视| 99视频超级精品| 久久成人国产精品| 欧美成年人在线观看| 亚洲日本精品国产第一区| 毛片av中文字幕一区二区| 欧美激情亚洲国产| 亚洲深夜av| 久久久亚洲高清| 欧美视频在线观看免费网址| 国产亚洲免费的视频看| 亚洲精品久久久久久久久久久| 亚洲一区二区成人在线观看| 久久精品中文| 亚洲欧洲午夜| 久久本道综合色狠狠五月| 欧美精品成人91久久久久久久| 国产精品久久精品日日| 亚洲激情另类| 欧美一级视频| 亚洲精品一区二区三区不| 欧美在线播放一区二区| 欧美区国产区| 亚洲国产国产亚洲一二三| 性欧美办公室18xxxxhd| 欧美激情网友自拍| 久久成人综合视频| 国产精品久久一卡二卡| 亚洲日韩欧美视频一区| 久久精品亚洲精品| 亚洲视频福利|