大話設計模式讀書筆記 策略模式

2022-01-13 08:26:15 字數 1153 閱讀 8573

策略模式作為一種軟體設計模式,指物件有某個行為,但是在不同的場景中,該行為有不同的實現演算法。比如每個人都要「交個人所得稅」,但是「在美國交個人所得稅」和「在中國交個人所得稅」就有不同的算稅方法。

策略模式的特點:

1.定義了一族演算法(業務規則);

2.封裝了每個演算法;

3.這族的演算法可互換代替(interchangeable)。

維基百科-策略模式

/// /// 收費基類

///

public abstract class cashsuper

/// /// 正常收費類

///

public class cashnormal : cashsuper

}/// /// 折扣類

///

public class cashrebate : cashsuper

public override double acceptcash(double money)

}/// /// 返利收費(即滿x元,返利y元)

///

public class cashreturn : cashsuper

public override double acceptcash(double money)

return result;}}

/// /// 獲取收費方式的工廠類

///

public class cashfactory

return cashsuper;}}

/// /// 收費上下文

///

public class cashcontext

}/// /// 計算結果值

///

///

///

public double getresult(double money)

}

var cash = new cashcontext("折扣");//對外只用暴露乙個類

var result = cash.getresult(500);

console.writeline(result);

console.readline();

大話設計模式讀書筆記之策略模式

大話設計模式讀書筆記之策略模式 1.定義 它定義了演算法家族,分別封裝起來,讓它們之間可以互相替換,此模式的使用,讓演算法的變化不會影響到適應這些演算法的客戶。2.相關的uml類圖 3.意義 策略模式是一種定義一系列演算法的方法,從概念上來講,所有這些演算法完成的都是相同的工作,只是實現不同,它可以...

大話設計模式 讀書筆記9策略模式

大話設計模式 讀書筆記策略模式 策略模式 定義了演算法族,分別封裝,讓他們之間可以相互替換,此模式讓演算法的變化,不會影響到使用演算法的客戶 商場收銀時,如何 使用打折還是返利,其實都是一種演算法,演算法本身是一種策略 最重要的是這些演算法是隨時都可能相互替換的,者就是變化點。封裝變化點是物件導向的...

大話設計模式讀書筆記2 策略模式

策略模式是一種定義一系列演算法的方法,從概念上來看,所有這些演算法完成的都是相同的工作,只是實現不同,它可以以相同的方式呼叫所有的演算法,減少了各種演算法類與使用演算法類直接的耦合。uml 圖 根據 大話設計模式 第二章 商場 這個案例 來簡單的記錄一下策略模式的使用方式 現金收費抽象類 publi...