1. 程式人生 > >設計模式案例

設計模式案例

tin 計算機 concrete text 抽象類 設計模式 發生 pub rate

1.策略模式

package 策略模式;

public class ConcreteStrategy extends Strategy{


public void strategyInteface() {
// TODO Auto-generated method stub

}

}

package 策略模式;

public class Contex {
private Strategy strategy;
public void contextInteface(){
strategy.strategyInteface();
}
}

package 策略模式;
/*內涵:針對一組算法,將每一個算法封裝到具有共同接口的獨立類中,從而使得他們可以相互替換,
* 策略模式可以使得算法在不影響客戶端的情況下發生變化
* */
public abstract class Strategy {//抽象策略類:
/*策略模式是對算法的包裝,是把使用的算法的責任和算法本身分割開,委派給不同的對象管理
* 環境角色:持有一個strategy類引用
* 抽象策略角色:給出所有具體策略類所需要的接口
* 具體策略角色:包裝了相關的算法和行為
*
* 多態的特征:算法的互換
*
* */

public abstract void strategyInteface();

/*註意:
* 具體的策略類都有一些公有的行為,應該將這些行為都放到抽象策略角色中(抽象角色必須是抽象類)
* 策略模式在每一刻都只能使用一個策略對象;同時與幾個策略對象聯系只有在不會耗費計算機資源時或在策略對象
* 花費很多時間初始化時才需要
* */

}

設計模式案例