軟體設計模式與體系結構 課後練習1

2021-10-04 07:38:09 字數 1377 閱讀 2666

畫出該模式的設計類圖:

如圖1所示:

圖1 設計類圖

2.解釋為什麼自己的設計符合開閉原則?

答:因為設計的類、模組和函式對擴充套件開放,

對修改關閉

.即可以通過擴充套件來實現變化

,而不是通過修改已有的**來實現變化

.具體為通過介面或抽象類約束擴充套件

,對擴充套件進行邊界限定

,並且不會出現在介面或抽象類中不存在的

public

方法,引數型別、引用物件使用的介面或抽象類

,而不是實現類,抽象層保持穩定

,一旦確定不允許修改介面或抽象類一旦定義

,應立即執行

,不能有修改介面的想法

,除非是徹底的大返工。

1.為什麼要使用策略模式?

答:因為此軟體有多種優惠收費包,不同的收費包有不同的計算方式,所以也就是說有多個條件,每個條件都要進行判斷,相當於每個if條件都可以理解為乙個策略,此正符合策略模式定義(即把演算法的責任和演算法本身分割開來,委派給不同的物件管理,最終實現解決多重if判斷問題。)

2.畫出該模式的設計類圖:

如圖2所示:

圖2 設計類圖

3.解釋為什麼自己的設計符合開閉原則?

答:因為設計的類、模組和函式對擴充套件開放

,對修改關閉

.即可以通過擴充套件來實現變化

,而不是通過修改已有的**來實現變化

.具體為通過介面或抽象類約束擴充套件

,對擴充套件進行邊界限定

,並且不會出現在介面或抽象類中不存在的

public

方法,引數型別、引用物件使用的介面或抽象類

,而不是實現類,抽象層保持穩定

,一旦確定不允許修改介面或抽象類一旦定義

,應立即執行

,不能有修改介面的想法

,除非是徹底的大返工。

軟體設計模式與體系結構

1 畫出新設計的設計類圖 2 說明為什麼新設計遵循開閉原則 開閉原則 ocp 是物件導向設計中 可復用設計 的基石,是物件導向設計中最重要的原則之一。開閉原則中 開 是指對於元件功能的擴充套件是開放的,是允許對其進行功能擴充套件的。本題中將findkeywords提出為乙個介面,五個方法實現此介面,...

軟體體系結構與設計模式

軟體體系結構是系統的乙個或多個結構,它包括 軟體的組成元素 元件 這些 元件 元素的外部可見特性 這些元素 元件 之間的相互關係。軟體體系結構不僅指定了系統的組織結構和拓撲結構,也顯示了系統需求和構成系統的元素之間的對應關係,提供了一些設計決策的基本原理。部件包括客戶端 伺服器 資料庫 程式包 過程...

軟體設計與體系結構 測試題五

主要參與者是什麼?答案 開始用例的參與者 擴充套件用例能用來做什麼?答案 描述只在某些條件下執行的不同用例的條件部分 用例中的參與者是什麼?答案 與系統互動的外部實體 什麼是用例包?答案 相關用例的組 非功能性需求在用例模型中如何描述?答案 在用例描述的乙個分開的小節中 活 在用例建模中能用來做什麼...