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

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

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

在程序設計中,

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

    耦合度:兩子程序之間聯(lián)系的強度

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

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

UML Relationships(關系)初探

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

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

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

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

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

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

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

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

 

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲成色www久久网站| 欧美大秀在线观看| 亚洲图片在区色| 欧美午夜在线| 久久狠狠久久综合桃花| 香蕉尹人综合在线观看| 激情六月婷婷久久| 麻豆久久婷婷| 欧美精品一区二区精品网| 99国产精品久久久久久久久久| 亚洲欧洲一区二区天堂久久| 欧美激情按摩| 午夜在线一区二区| 久久精品国产清自在天天线| 在线观看日韩av电影| 亚洲国产精品传媒在线观看| 欧美日韩亚洲一区二区三区| 久久成人亚洲| 欧美大片网址| 性色一区二区| 狂野欧美激情性xxxx| 一区二区三区四区国产| 欧美在线短视频| 亚洲卡通欧美制服中文| 亚洲一区二区三区高清| 亚洲风情亚aⅴ在线发布| 亚洲精选在线观看| 狠狠色狠狠色综合日日tαg| 99re热这里只有精品免费视频| 国产美女一区二区| 亚洲国产欧美一区二区三区久久| 国产精品伦理| 亚洲人成网站在线观看播放| 国模精品娜娜一二三区| 亚洲乱码国产乱码精品精天堂| 国产视频久久久久| 91久久线看在观草草青青| 国产欧美日本一区二区三区| 欧美韩日视频| 韩国精品一区二区三区| 99国内精品久久| 91久久精品国产91久久| 午夜精品美女久久久久av福利| 亚洲乱码国产乱码精品精可以看| 欧美一区亚洲二区| 性色av一区二区三区红粉影视| 免费欧美电影| 欧美xart系列在线观看| 国产精品中文在线| 在线一区二区三区做爰视频网站| 亚洲人屁股眼子交8| 欧美专区第一页| 午夜精品视频一区| 国产精品极品美女粉嫩高清在线 | 亚洲美女黄网| 久久久久网站| 久久人91精品久久久久久不卡| 国产精品日韩在线观看| 一区二区三区日韩欧美| 亚洲一区二区三区在线视频 | 一区二区av在线| 亚洲精选久久| 牛人盗摄一区二区三区视频| 免费成年人欧美视频| 精品二区视频| 免费成人网www| 亚洲电影av在线| 亚洲三级性片| 欧美高清hd18日本| 欧美激情亚洲| 亚洲乱码国产乱码精品精可以看 | 极品av少妇一区二区| 久久久99精品免费观看不卡| 久久精品人人做人人爽| 狠狠色综合网站久久久久久久| 午夜日韩在线观看| 快射av在线播放一区| 在线观看福利一区| 欧美大片18| 99在线精品观看| 性欧美xxxx大乳国产app| 国产精品一区一区三区| 久久精品99国产精品日本| 久久在线免费视频| 91久久黄色| 欧美日韩一区不卡| 亚洲欧美在线免费| 欧美国产日韩xxxxx| 在线亚洲+欧美+日本专区| 国产精品扒开腿做爽爽爽视频 | 欧美成人资源| 中日韩美女免费视频网址在线观看| 欧美美女操人视频| 亚洲欧美日韩精品| 欧美v日韩v国产v| 亚洲午夜激情免费视频| 国产乱码精品一区二区三区五月婷| 欧美中在线观看| 亚洲精选视频在线| 久久精品91久久香蕉加勒比 | 国产精品美女视频网站| 欧美资源在线| 亚洲九九爱视频| 久久综合狠狠综合久久激情| 一本色道久久综合狠狠躁篇怎么玩| 国产精品第一区| 蜜臀av国产精品久久久久| 一区二区三区精品视频在线观看| 久久久久久高潮国产精品视| 日韩午夜激情| 激情欧美一区二区三区在线观看 | 蜜臀av在线播放一区二区三区| 一区二区三区四区国产精品| 美女成人午夜| 久久av在线看| 中文网丁香综合网| 影音先锋亚洲精品| 国产日韩欧美综合| 欧美午夜国产| 欧美人与性动交α欧美精品济南到| 亚洲欧美日韩中文视频| 日韩网站在线| 欧美韩国日本一区| 久热精品视频在线观看| 欧美亚洲三级| 亚洲一区日韩| 一本色道久久88综合日韩精品 | 国产精品久久久久久久久| 欧美金8天国| 蜜桃精品一区二区三区| 欧美自拍偷拍| 久久国产精品久久久久久| 亚洲一区二区三区四区五区午夜| 亚洲精品国产精品乱码不99 | 久久久午夜精品| 欧美专区18| 久久av一区二区三区漫画| 亚洲欧美乱综合| 亚洲欧美日韩在线一区| 一区二区三区不卡视频在线观看 | 久久综合伊人77777| 久久精品亚洲精品| 欧美一区二区视频在线观看2020| 在线一区亚洲| 亚洲午夜影视影院在线观看| 一个人看的www久久| 一区二区三区不卡视频在线观看| 99精品福利视频| 一区二区不卡在线视频 午夜欧美不卡在 | 日韩视频一区二区| 亚洲精品久久| 99视频在线观看一区三区| 日韩一级网站| 亚洲婷婷综合久久一本伊一区| 99视频超级精品| 这里只有视频精品| 亚洲欧美国产制服动漫| 久久国产精品亚洲77777| 久久一日本道色综合久久| 久热精品视频在线免费观看| 久久一综合视频| 欧美风情在线观看| 欧美日韩一区二区三区高清| 欧美三级视频在线| 国产拍揄自揄精品视频麻豆| 国内精品久久久久影院 日本资源 国内精品久久久久伊人av | 99re热这里只有精品视频| 一区二区三区欧美| 性xx色xx综合久久久xx| 久久亚洲精品欧美| 欧美日韩国产首页在线观看| 国产精品乱码久久久久久| 国产性做久久久久久| 亚洲电影观看| 亚洲影院色在线观看免费| 久久精品2019中文字幕| 欧美激情一区| 亚洲欧美欧美一区二区三区| 久久久久国产一区二区| 欧美日韩在线直播| 红桃视频一区| 亚洲欧美日韩高清| 欧美不卡福利| 亚洲自拍偷拍福利| 欧美承认网站| 精品成人在线| 亚洲女人小视频在线观看| 欧美大片91| 午夜精品久久久久99热蜜桃导演| 老司机精品导航| 国产视频一区二区三区在线观看| 亚洲免费观看在线视频| 狂野欧美激情性xxxx| 亚洲影视在线| 欧美日韩亚洲在线| 亚洲国产精品黑人久久久| 久久久久91| 午夜精品视频在线观看| 欧美日韩精品免费观看视频完整| 精品动漫3d一区二区三区免费|