軟體構造 可復用性 Strategy模式

2021-10-07 00:09:54 字數 853 閱讀 2203

問題:針對特定任務存在多種演算法,呼叫者需要根據上下文環境動態的選擇和切換。

strategy模式:定義乙個演算法的介面,每個演算法用乙個類來實現,客戶端針對介面編寫程式。

圖示如下:

stategy介面:演算法介面;

concretestategya類:具體演算法a;

concretestategyb類:具體演算法b;

concretestategyc類:具體演算法c;

context類:上下文語境。

舉例:stategy介面:

public inte***ce paymentstategy
concretestategya類:

public class creditcardstrategy implements paymentstategy 

}

concretestategyb類:

public class paypalstrategy implements paymentstategy 

}

context類:

public class shoppingcard 

public static

void

main

(string[

] args)

}

結果:

10 paid with cradit card

20 paid using paypal

軟體的可復用性

軟體復用就是利用已有的軟體元件來實現或更新新的軟體系統。軟體復用可以大幅度的節省新軟體的開發時間和開發成本。譬如,如果你想造一輛超級跑車,那麼給你法拉利,邁 的圖紙,會不會感覺任務變得更輕鬆了呢。軟體復用讓我們的任務由從0到1簡化成了從1到2,這就是乙個質的飛躍。畢竟我們都知道,改進遠比創造要容易的...

軟體的可維護性和可復用性

軟體的復用 reuse 或重用擁有眾多優點,如可以提高軟體的開發效率,提高軟體質量,節約開發成本,恰當的復用還可以改善系統的可維護性。物件導向設計復用的目標在於實現支援可維護性的復用。在物件導向的設計裡面,可維護性復用都是以物件導向設計原則為基礎的,這些設計原則首先都是復用的原則,遵循這些設計原則可...

可復用性 Reusability

1.2模組 類和介面 1.3庫 api 1.4架構 框架framework 2.可重用性的外部表現 可復用性是軟體構造過程中乙個重要的外部質量指標。對經過充分測試的程式進行復用可以利用其高可靠性 穩定性 適應性,並可降低成本以及開發時間。源 可見,直接複製並進行修改。需要對源 內部結構 設計思路充分...