久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      策略模式是什么?

      策略模式作為一種軟件設(shè)計模式,是指對象有某個行為,但是在不同的場景中,該行為有不同的實現(xiàn)算法,該模式解決了在有多種算法相似的情況下,使用“if…else”所帶來的復(fù)雜和難以維護。

      策略模式是什么?

      介紹

      意圖:定義一系列的算法,把它們一個個封裝起來, 并且使它們可相互替換。

      主要解決:在有多種算法相似的情況下,使用 if…else 所帶來的復(fù)雜和難以維護。

      何時使用:一個系統(tǒng)有許多許多類,而區(qū)分它們的只是他們直接的行為。

      如何解決:將這些算法封裝成一個一個的類,任意地替換。

      關(guān)鍵代碼:實現(xiàn)同一個接口。

      應(yīng)用實例: 1、諸葛亮的錦囊妙計,每一個錦囊就是一個策略。 2、旅行的出游方式,選擇騎自行車、坐汽車,每一種旅行方式都是一個策略。 3、JAVA AWT 中的 LayoutManager。

      優(yōu)點: 1、算法可以自由切換。 2、避免使用多重條件判斷。 3、擴展性良好。

      缺點: 1、策略類會增多。 2、所有策略類都需要對外暴露。

      使用場景: 1、如果在一個系統(tǒng)里面有許多類,它們之間的區(qū)別僅在于它們的行為,那么使用策略模式可以動態(tài)地讓一個對象在許多行為中選擇一種行為。 2、一個系統(tǒng)需要動態(tài)地在幾種算法中選擇一種。 3、如果一個對象有很多的行為,如果不用恰當?shù)哪J?,這些行為就只好使用多重的條件選擇語句來實現(xiàn)。

      注意事項:如果一個系統(tǒng)的策略多于四個,就需要考慮使用混合模式,解決策略類膨脹的問題。

      實現(xiàn)

      我們將創(chuàng)建一個定義活動的 Strategy 接口和實現(xiàn)了 Strategy 接口的實體策略類。Context 是一個使用了某種策略的類。

      StrategyPatternDemo,我們的演示類使用 Context 和策略對象來演示 Context 在它所配置或使用的策略改變時的行為變化。

      策略模式是什么?

      推薦教程:《PHP》

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號