設計原則:對象之間的關系


背景

我們執着於面《向對象編程》,而多數情況我們都在使用《面向類型編程》,今天簡單快速的回顧一下對象的之間的關系。

先談談類型之間的關系

類型之間的依賴,這里進一步划分為兩類:

  1. 顯式依賴:在參數中顯式的表達了依賴。
  2. 隱式依賴:沒有在參數中顯式的表達依賴,直接在方法中創建了某個類型的實例,然后使用。

類型之間的關聯從某種程度上來講也屬於一種依賴,在這個維度講,也可以將其划分為兩類:

  1. 顯式依賴:使用構造方法或方法注入關聯。
  2. 隱式依賴:沒有使用構造方法或方法注入關聯,直接在構造方法中創建了某個類型的實例,然后賦值給關聯。

集合關聯屬於整體和個體的關系,復合關聯屬於整體和部分的關系,兩者的區別在於語義上,技術上表現非常一致,從DDD上來講,復合關聯的雙方屬於同一個聚合,集合關聯的雙方屬於兩個聚合。

實現和繼承會影響運行時消息的發送。

對象之間的關系

對象之間只有依賴和關聯。

為什么需要依賴和關聯

行為需要數據,數據表現為依賴和關聯。

示例

需求:a.m1先執行,然后執行b.m2。

注意:這里只給出了常見的實現方式,還會有其他形式,如:采用Event的方式。

備注

上邊的草圖是開會期間畫的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM