【設計模式學習筆記】策略模式
阿新 • • 發佈:2018-12-31
In computer programming, the strategy pattern (also known as the policy pattern) is a behavioral software design pattern that enables selecting an algorithm at runtime. [wiki]
文章目錄
1.1 介面
package strategy;
/************************************************
*@ClassName : CreateCar
*@Description : TODO
*@Author : NikolaZhang
*@Date : 【2018/11/28 21:05】
*@Version : 1.0.0
*************************************************/
public interface CreateCarI {
void doingSomething();
}
1.2 實現類(舉一個例子)
package strategy;
/************************************************
*@ClassName : BuyMetal
*@Description : TODO
*@Author : NikolaZhang
*@Date : 【2018/11/28 21:09】
*@Version : 1.0.0
*************************************************/
public class BuyMetalImpl implements CreateCarI {
@Override
public void doingSomething() {
System.out.println("購買金屬材料。");
}
}
1.3 入口類
package strategy;
import com.sun.org.omg.SendingContext.CodeBaseHelper;
/************************************************
*@ClassName : StartWork
*@Description : TODO
*@Author : NikolaZhang
*@Date : 【2018/11/28 21:14】
*@Version : 1.0.0
*************************************************/
public class StartWork {
private CreateCarI createCarI;
public StartWork(CreateCarI createCarI){
this.createCarI = createCarI;
}
public void start(){
createCarI.doingSomething();
}
}
1.4 測試
package strategy;
/************************************************
*@ClassName : Test
*@Description : TODO
*@Author : NikolaZhang
*@Date : 【2018/11/28 21:58】
*@Version : 1.0.0
*************************************************/
public class Test {
public static void main(String[] args) {
StartWork startWork1 = new StartWork(new BuyMetalImpl());
startWork1.start();
StartWork startWork2 = new StartWork(new DesignCarModelImpl());
startWork2.start();
StartWork startWork3 = new StartWork(new MakeCarImpl());
startWork3.start();
}
}