系统架构师学习笔记-面向对象方法
目錄
?
?
基本概念
統一建模語言(UML)
?
基本概念
對象(Object):它是系統用來描述客觀事物的一個實體,是構成系統的一個基本單位。
類(Class):它是具有相同屬性和方法的一組對象的集合。
繼承(Inheritance):它使子類可以繼承父類的屬性和方法,繼承增加了軟件復用的機會。
封裝(Encapsulation):就是把對象的屬性和方法結合成一個獨立的系統單位,并盡可能隱蔽對象的內部細節。
.多態(polymorphism):在OO技術中,多態性是指同一個操作作用于不同的對象時可以有不同的解釋,并產生不同的執行結果。
消息(Message):是指向對象發出的服務請求,?對象直接用消息的方式傳遞信息,而不是參數。
?
統一建模語言(UML)
UML又稱統一建模語言或標準建模語言,是一個支持模型化和軟件系統開發的圖形化語言,它的作用域不限于支持面向對象的分析與設計,還支持從需求分析開始的軟件開發的全過程。
關聯(accociation):描述了給定類的單獨對象之間語義上的連接。關聯提供了不同類之間的對象可以相互作用的連接。
聚合關系:關聯關系的一種特例, 是強的關聯關系。聚合表示類之間的關系是整體與部分的關系,但整體與部分之間是可分離的,他們可以具有各自的生命周期。
組合關系:也是關聯關系的一種特例,這種關系比聚合更強,也稱為強聚合;他同樣體現整體與部分間的關系,但此時整體與部分是不可分的,整體的生命周期結束也就意味著部分的生命周期結束。
泛化(generalization):一般元素和特殊元素之間的關系。即OO語言中,類之間的繼承關系。
實現(realization):一個元素完成另外一個元素的操作功能,則二者構成實現關系。如接口類及其實現;
依賴( dependency):一個元素B的改變會影響另外一個元素A,則稱A依賴于B,二者之間存在依賴關系。
?
包含(include) (是一種依賴關系,加了版型<<include>>)
1. 兩個以上用例有共同功能,可分解到單獨用例形成包含依賴;
2. 箭頭方向由基本用例指向被包含用例;
3. 執行基本用例時,每次都必須調用被包含的用例(吃飯前洗手);
4. 被包含用例也可以單獨執行;
?
?
擴展(extend) (是一種依賴關系,加了版型<<extend>>)
如果一個用例明顯地混合了兩種或兩種以上的不同場景,即根據情況可能發生多種事情,則可以斷定將這個用例分為一個主用例和一個或多個輔用例進行描述可能更加清晰。
?
用例圖(use case diagram):描述一組用例、參與者(一種特殊的類)及它們之間的關系。
?
類圖(class diagram):描述一組類、接口、協作和它們之間的關系。類圖給出了系統的靜態設計視圖
?
順序圖(sequence diagram):是一種交互圖(interaction diagram),交互圖展現了一種交互,它由一組對象或角色以及它們之間可能發送的消息構成。交互圖專注于系統的動態視圖。順序圖是強調消息的時間次序的交互圖。
?
協作圖(通信圖,UML2.0后的名稱):是一種交互圖,強調的是發送和接收消息的對象之間的組織結構。一個協作圖顯示了一系列的對象和在這些對象之間的聯系以及對象間發送和接收的消息。
?
順序圖和通信圖的區別:
?
活動圖(activity diagram):將進程或其他計算的結構展示為計算內部一步步的控制流和數據流?;顒訄D專注于系統的動態視圖。
?
狀態圖(state chart diagram):它由狀態、轉移、事件和活動組成。狀態圖給出了對象的動態視圖;
?
構件圖(component diagram):描述一個封裝的類和它的接口、端口,以及由內嵌的構件和連接件構成的內部結構。構件圖用于表示系統的靜態設計實現視圖。
?
部署圖(deployment diagram):用來顯示系統中軟件和硬件的物理架構。從部署圖中,可以了解到軟件和硬件組件之間的物理關系以及處理節點的組件分布情況。
?
?
?
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的系统架构师学习笔记-面向对象方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android逆向笔记-通过字符串定位跳
- 下一篇: 软考系统架构师笔记-最后知识点总结(五)