大話UML中類之間的關係
關於uml的內容在大學的時候學習過,感覺是花拳繡腿的一些知識,想用但是限於自己的認知和經驗,實在是很難運用,到了工作的時候,感覺不需要這些工作也照樣能做得很出色,過度的自信就這樣維持了幾年,等到積累了一定的專案經驗,對於設計的關注程度也逐漸提升,有時候想表達一些設計的思想,自己DIY的圖表可能只有自己能夠看懂,看一些設計思想中的圖也是似懂非懂,看來剛學外語也是不夠的,還得學習UML,無規矩不成方圓嘛,讓UML來作為我們設計中的思想轉化器。
說起UML中類之間的關係,大體有以下幾類
繼承關係(Generalization);
實現關係(Realization);
依賴關係(Dependency);
關聯關係(Association);
聚合關係(Aggregation);
組合關係(Composition);
個人認為理清這些關係遠比學習這些關係的圖示更加有用,就不在本文中一個一個畫了,在稍後的博文中聯絡程式碼做進一步的補充。
繼承關係(Generalization) 這個 關係很好理解,也物件導向的三大特性之一。子女繼承了父母的面貌和性格特徵,我們需要繼承老一輩的光榮傳統等等都是繼承的體現。
實現關係(Realization); 這個關係和多型也很有關係,一龍生九子,九子各不同,這九子各有各的特點,還有大家見面的問候,你好,可以有中文的說法,方言的說法,英文的說法,各種外語的說法等等。
依賴關係(Dependency); 依賴關係也很形象,比如我們的生活需要新鮮的空氣 ,安全的食物,這些都是健康生活所依賴的。
關聯關係(Association); 這種關係是類之間的關係中最普遍的,比如我們網購,我們作為顧客和訂單之間的關係,比如我們 使用的手機拍照功能,手機中的拍照圖示和拍照功能之間就是一種關聯,一按下去就會關聯拍磚功能。
聚合關係(Aggregation); 代表個體/部分的物件則有可能被多個代表整體的物件所共享,而不一定會隨著某個代表整體的物件被銷燬或破壞而被銷燬或破壞,比如電腦由CPU,硬碟,主機板等等組成,如果缺了某一個,電腦還是存在的,只是不能用而已。
組合關係(Composition); 在組合關係中,如果代表整體的物件被銷燬或破壞,那麼代表個體/部分的物件也一定會被銷燬或破壞。比如小雞有兩隻翅膀,
我們可以透過一個虛擬的例子來說明,請勿對話入座。
介紹認識
在無意的一個場合,有兩個年輕人互相認識了,可能因為在一個班級,可能因為住的比較近,可能因為父母的原因,也可能因為同事朋友的介紹,彼此交換了手機號碼,就可以在節假日的時候發個簡訊互相祝福,這種關係,我們可以理解為關聯。
進入熱戀
可能在一些瞭解中,兩個人對彼此都有了一些認識,逐漸產生好感,最後超越了革命的友誼,兩個人相戀了,簡訊已經遠遠不能滿足兩個人之間彼此的新鮮感和思念,電話粥也每天都煲到手機電池發燙。兩個人彼此聯絡非常密切,我們可以理解為依賴。
幸福家庭
生活總是要繼續,兩個人的認知有了進一步的昇華,於是考慮了今後的人生大事,在突破父母的阻攔,生活的艱辛之後,兩個人還是走在了一起,元件了幸福的家庭。孩子也是作為父母恩愛的結晶,作為彼此獻給對方的禮物,生活中誰不不能離開誰,家庭的幸福就在這些柴米油鹽中慢慢的流逝,誰都有過青春年華,都需要承擔起生活的重擔,家庭的幸福。這也可以理解為組合,父母孩子,幸福的家庭。
人生方向的選擇
有了孩子,大把大把揮霍的日子就得收斂起來了,安心相夫教子或者在柴米油鹽中盤旋,每天都是圍繞在孩子這個小宇宙中旋轉,限於精力,可能有些家庭選擇妻子留下來照顧孩子,由丈夫來工作持家,工作和生活在這個時候就是一種選擇,但是這個決定還是得做。
這也是家庭生活中的一個方向選擇,不管你做了何種選擇,生活還得繼續,日子就在這樣的日子中一天一天度過。這也可以理解為聚合,工作還是持家,都是我們生活中的一部分。
孩子的教育
總是在很多年前聽到好多家長朋友說對於自己的孩子只要他健康快樂就好,其它別無所求,但是等孩子長大了,肯定就不會那麼想了,你忍心看著孩子落後在起跑線後,大家都在推崇某種科學的學習方法,各種學習班,你不學上幾門?
有時候讓孩子去學習這些也是來彌補我們年輕時的遺憾,我們希望孩子能夠繼承我們的樸實踏實的性格,但是也在冥冥之中希望他們能夠更加出人頭地,有自己的一片天,看著孩子的成長軌跡,有時候就會聯想起自己多少年以前的樣子,孩子不光繼承了我們 的一些長相和性格特徵還需要繼承我們精神孜孜不倦的追求。
讓時間說話
我們曾經在年輕的時候許下各種願望,在各種場合中做下一些承諾,這些都需要時間來證明,我們所說的一句話一次承諾可能就是一個介面,可能日後的實現就是一個藉口,或者付出了百倍的努力付諸實踐。讓時間來沉澱這些想法,來驗證我們對於自己的言行。
這也可以理解為實現吧。
說起UML中類之間的關係,大體有以下幾類
繼承關係(Generalization);
實現關係(Realization);
依賴關係(Dependency);
關聯關係(Association);
聚合關係(Aggregation);
組合關係(Composition);
個人認為理清這些關係遠比學習這些關係的圖示更加有用,就不在本文中一個一個畫了,在稍後的博文中聯絡程式碼做進一步的補充。
繼承關係(Generalization) 這個 關係很好理解,也物件導向的三大特性之一。子女繼承了父母的面貌和性格特徵,我們需要繼承老一輩的光榮傳統等等都是繼承的體現。
實現關係(Realization); 這個關係和多型也很有關係,一龍生九子,九子各不同,這九子各有各的特點,還有大家見面的問候,你好,可以有中文的說法,方言的說法,英文的說法,各種外語的說法等等。
依賴關係(Dependency); 依賴關係也很形象,比如我們的生活需要新鮮的空氣 ,安全的食物,這些都是健康生活所依賴的。
關聯關係(Association); 這種關係是類之間的關係中最普遍的,比如我們網購,我們作為顧客和訂單之間的關係,比如我們 使用的手機拍照功能,手機中的拍照圖示和拍照功能之間就是一種關聯,一按下去就會關聯拍磚功能。
聚合關係(Aggregation); 代表個體/部分的物件則有可能被多個代表整體的物件所共享,而不一定會隨著某個代表整體的物件被銷燬或破壞而被銷燬或破壞,比如電腦由CPU,硬碟,主機板等等組成,如果缺了某一個,電腦還是存在的,只是不能用而已。
組合關係(Composition); 在組合關係中,如果代表整體的物件被銷燬或破壞,那麼代表個體/部分的物件也一定會被銷燬或破壞。比如小雞有兩隻翅膀,
我們可以透過一個虛擬的例子來說明,請勿對話入座。
介紹認識
在無意的一個場合,有兩個年輕人互相認識了,可能因為在一個班級,可能因為住的比較近,可能因為父母的原因,也可能因為同事朋友的介紹,彼此交換了手機號碼,就可以在節假日的時候發個簡訊互相祝福,這種關係,我們可以理解為關聯。
進入熱戀
可能在一些瞭解中,兩個人對彼此都有了一些認識,逐漸產生好感,最後超越了革命的友誼,兩個人相戀了,簡訊已經遠遠不能滿足兩個人之間彼此的新鮮感和思念,電話粥也每天都煲到手機電池發燙。兩個人彼此聯絡非常密切,我們可以理解為依賴。
幸福家庭
生活總是要繼續,兩個人的認知有了進一步的昇華,於是考慮了今後的人生大事,在突破父母的阻攔,生活的艱辛之後,兩個人還是走在了一起,元件了幸福的家庭。孩子也是作為父母恩愛的結晶,作為彼此獻給對方的禮物,生活中誰不不能離開誰,家庭的幸福就在這些柴米油鹽中慢慢的流逝,誰都有過青春年華,都需要承擔起生活的重擔,家庭的幸福。這也可以理解為組合,父母孩子,幸福的家庭。
人生方向的選擇
有了孩子,大把大把揮霍的日子就得收斂起來了,安心相夫教子或者在柴米油鹽中盤旋,每天都是圍繞在孩子這個小宇宙中旋轉,限於精力,可能有些家庭選擇妻子留下來照顧孩子,由丈夫來工作持家,工作和生活在這個時候就是一種選擇,但是這個決定還是得做。
這也是家庭生活中的一個方向選擇,不管你做了何種選擇,生活還得繼續,日子就在這樣的日子中一天一天度過。這也可以理解為聚合,工作還是持家,都是我們生活中的一部分。
孩子的教育
總是在很多年前聽到好多家長朋友說對於自己的孩子只要他健康快樂就好,其它別無所求,但是等孩子長大了,肯定就不會那麼想了,你忍心看著孩子落後在起跑線後,大家都在推崇某種科學的學習方法,各種學習班,你不學上幾門?
有時候讓孩子去學習這些也是來彌補我們年輕時的遺憾,我們希望孩子能夠繼承我們的樸實踏實的性格,但是也在冥冥之中希望他們能夠更加出人頭地,有自己的一片天,看著孩子的成長軌跡,有時候就會聯想起自己多少年以前的樣子,孩子不光繼承了我們 的一些長相和性格特徵還需要繼承我們精神孜孜不倦的追求。
讓時間說話
我們曾經在年輕的時候許下各種願望,在各種場合中做下一些承諾,這些都需要時間來證明,我們所說的一句話一次承諾可能就是一個介面,可能日後的實現就是一個藉口,或者付出了百倍的努力付諸實踐。讓時間來沉澱這些想法,來驗證我們對於自己的言行。
這也可以理解為實現吧。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30633755/viewspace-2127786/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- UML類圖--類之間的關係
- UML類圖介紹&類的六大關係
- 【java】類之間的關係Java
- 類與類之間的基本關係
- 介面、抽象類、普通類之間的關係抽象
- UML 之 各種檢視簡介 & UML類圖幾種關係的總結
- 【大話雲原生】煮餃子與docker、kubernetes之間的關係Docker
- Java設計模式-類之間的關係Java設計模式
- 類之間的6種關係詳解
- 五分鐘看懂UML類圖與類的關係詳解
- 大資料技術與Hadoop之間的關係大資料Hadoop
- Window、WindowManager、View 之間的關係View
- git、github、gitlab之間的關係GithubGitlab
- 頁面中多個script塊之間的關係
- Python中怎樣改變集合之間的關係?Python
- 大資料與Hadoop之間是什麼關係?大資料Hadoop
- 設計模式-UML關係基礎設計模式
- 類圖的6大關係詳解
- TLS與SSL之間關係TLS
- React、Ant Design、DvaJS之間的關係ReactJS
- Activity、View、Window之間關係的分析View
- 思考 TPS 與 RT 之間的關係
- Window, WindowManager和WindowManagerService之間的關係
- IntelliJ IDEA 中uml外掛檢視某類的所有繼承或實現關係 + outline功能IntelliJIdea繼承
- 在Linux中,Unix和Linux之間的關係是什麼?Linux
- 探討PostgreSQL例項中資料庫之間的關係SQL資料庫
- react、redux、react-redux之間的關係ReactRedux
- Linux Shell檔案之間的包含關係Linux
- GeoTools應用-JTS(Geometry之間的關係)
- Java類關係之代理(代理模式)Java模式
- 效能測試中,TPS和RT之間的關係,你知道嗎?
- CPU、記憶體、磁碟IO之間的關係記憶體
- Kubernetes和Docker之間的關係是什麼?Docker
- 網站和伺服器之間的關係網站伺服器
- ERP與精益生產之間的關係
- Web3和元宇宙之間的關係Web元宇宙
- Maven專案之間關係介紹Maven
- 關於Java中的物件、類、抽象類、介面、繼承之間的聯絡Java物件抽象繼承
- Linux中終端介面與圖形介面之間的切換關係Linux