Q78.
UML 相依(Dependency) 關係若是一種 Use 關係,以下那一個敘述正確?
電腦軟體設計共同科目 · 乙級 · Q78
難易度分析
2 / 5
本題考查 UML 相依關係的基本定義與特質,需準確區分相依關係與關聯關係的差異,並能辨識出類別間因變動而產生影響的耦合特性。
正確答案:②代表某一個事物的改變有可能會影響到另一個使用事物
② 代表某一個事物的改變有可能會影響到另一個使用事物:UML 相依關係的核心定義即為 supplier(被依賴者)的規格或實作改變時,可能影響到 client(依賴者)的行為,這是一種單向的弱耦合關係,通常透過方法參數、區域變數或靜態呼叫實現。
錯誤選項解析
- ① 代表某類別的物件不會被另一個物件所使用,只是呼叫:Use 關係恰恰表示某類別的物件會被另一個物件所使用,例如呼叫其方法或作為參數傳遞,此選項將語義完全顛倒。
- ③ 代表使用者與被使用者之間沒有關係:Use 關係明確建立了使用者與被使用者之間的依賴連結,兩者存在明確的技術關聯,並非毫無關係。
- ④ 代表被使用者不會是使用者的屬性:此敘述混淆了 Dependency 與 Association 的差異;雖然相依關係中被依賴者確實不作為屬性存在,但 Use 關係的正確定義應聚焦於「改變的影響性」,而非以屬性有無來判定。
Learning Tip
"UML 相依關係常與 Association、Aggregation、Composition 混淆。關鍵區別在於:Dependency 是最弱的關係,僅表示「使用」而非「擁有」,在程式碼中通常體現為方法參數或區域變數,而非類別的成員欄位。實務上,過度依賴會導致 高耦合,應優先依賴介面而非具體實作,符合 依賴反轉原則 (DIP)。"
學員答題分佈
①代表某類別的物件不會被另一個物件所使用,只是呼叫0%
②代表某一個事物的改變有可能會影響到另一個使用事物0%
③代表使用者與被使用者之間沒有關係0%
④代表被使用者不會是使用者的屬性0%
此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!