1. 程式人生 > >2 策略模式

2 策略模式

集合 可能性 單元測試 一個個 context png style star line

面向對象的編程,並不是類越多越好,類的劃分是為了封裝,但分類的基礎是抽象,具有相同屬性和功能的對象的抽象集合才是類。 策略模式:它定義了算法家族,分別封裝起來,讓它們之間可以互相替換,此模式讓算法的變化,不會影響到使用算法的客戶。 技術分享 技術分享 策略模式是一種定義一系列算法的方法,從概念上來看,所有這些算法完成的都是相同的工作,只是實現不同,它可以以相同的方式調用所有的算法,減少了各種算法類與使用算法類之間的耦合。 策略模式的Strategy類層次為Context定義了一系列的可供重用的算法或行為,繼承有助於析取出這些算法中的公共功能。 策略模式的優點是簡化了單元測試,因為每個算法都有自己的類,可以通過自己的接口單獨測試。 當不同的行為堆砌在一個類中時,就很難避免使用條件語句來選擇合適的行為,將這些行為封裝在一個個獨立的Strategy類中,可以在使用這些行為的類中消除條件語句。 策略模式就是用來封裝算法的,但在實踐中,我們發現可以用它來封裝幾乎任何類型的規則,只要在分析過程中聽到需要在不同時間應用不同的業務規則
,就可以考慮使用策略模式處理這種變化的可能性。 在基本的策略模式中,選擇所用具體實現的職責有客戶端對象承擔,並轉給策略模式的Context對象。 反射反射,程序員的快樂

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">

2 策略模式