設計模式學習01-策略模式

來源:互聯網
上載者:User

定義

The Strategy pattern

The strategy pattern defines a family of algorithms encapsulate each one, and makes them interchangeable. Strategy lets algorithm vary independently from clients that use it.

策略模式

策略模式定義了一系列的演算法,分別封起來,讓它們之間可以互相替換,此模式讓演算法的變化獨立於使用演算法的客戶.

 

說明

簡單的來說,對於一個介面,有多種實現。這些實現可以自由替換,不會影響其它客戶的調用.

圖示

列舉的是遊泳的例子,遊泳有好幾種遊法,一個人在遊泳時可以蝶泳,蛙泳,仰泳等等,所以將遊泳這個行為抽成一個介面,下面依次蝶泳,蛙泳,仰泳的實現。而Person類直接引用遊泳介面,可以在運行時通過設定swimable來動態改變遊泳的方式。

總結

策略模式是一個提倡“針對介面編程”的模式,而使用介面的目的是為了統一標準或著說是制定一種強行的規定。

策略模式的使用是由使用者發起的,根據使用者的操作決定使用什麼具體的策略角色。策略模式僅僅封裝演算法,提供新的演算法加入到已有系統和演算法間的相互替換.

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.