18.策略模式
定義:定義一組算法,將每個算法都封裝起來趋厉,并且使它們之間可以互換。
優(yōu)點(diǎn):
- 算法可以自由切換
- 避免使用多重條件判斷
- 擴(kuò)展性良好
缺點(diǎn): - 策略類數(shù)量多
- 所有的策略類都需要對外暴露
當(dāng)策略數(shù)量超過4個的時候,需要考慮使用混合模式涝登,解決策略類膨脹和對外暴露的問題氮双。
使用場景: - 多個類只有在算法或行為上稍有不同的場景
- 算法需要自由切換的場景
- 需要屏蔽算法規(guī)則的場景
19.適配器模式
定義:將一個類的接口變換成客戶端所期待的另一種接口,從而使原本因接口不匹配而不能在一起工作的兩個類能夠在一起工作霎匈。
優(yōu)點(diǎn):
- 可以讓沒有任何關(guān)系的兩個類在一起運(yùn)行
- 增加了類的透明性
- 提高了類的復(fù)用度
- 靈活性非常好
使用場景:當(dāng)有動機(jī)修改一個已經(jīng)投產(chǎn)中的接口時戴差,適配器模式可能時最適合的模式唧躲。
適配器的兩種類型:類適配器和對象適配器碱璃。
類適配器是類間繼承嵌器,對象適配器是對象的合成關(guān)系爽航。