亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

策略(Strategy)模式

系統 1843 0

策略模式的用意是針對一組算法,將每一個算法封裝到具有共同接口的獨立的類中,從而使得它們可以相互替換。策略模式使得算法可以在不影響到客戶端的情況下發生變化。策略模式相當于"可插入式(Pluggable)的算法。

一,結構:

?

?

?

?

?

?

?

?

?

?

?

?

環境(Context)角色 :持有一個Strategy類的引用。

抽象策略(Strategy)角色 :這是一個抽象角色,通常由一個接口或抽象類實現。此角色給出所有的具體策略類所需的接口。

具體策略(ConcreteStrategy)角色 :包裝了相關的算法或行為。

二,示例代碼

    /**
 * 抽象策略(Strategy)角色
 * @author Salmon
 *
 */
public interface Strategy {
	public void algorithmInterface();
}

/**
 * 具體策略(ConcreteStrategy)角色
 * @author Salmon
 *
 */
public class ConcreteStrategyA implements Strategy {
	public void algorithmInterface() {
		System.out.println("Called ConcreteStrategyA.algorithmInterface()");
	}
}

/**
 * 具體策略(ConcreteStrategy)角色
 * @author Salmon
 *
 */
public class ConcreteStrategyB implements Strategy {
	public void algorithmInterface() {
		System.out.println("Called ConcreteStrategyB.algorithmInterface()");
	}
}

/**
 * 具體策略(ConcreteStrategy)角色
 * @author Salmon
 *
 */
public class ConcreteStrategyC implements Strategy {
	public void algorithmInterface() {
		System.out.println("Called ConcreteStrategyC.algorithmInterface()");
	}
}

/**
 * 環境(Context)角色
 * @author Salmon
 *
 */
public class Context {
	Strategy strategy;

	public Context(Strategy strategy) {
		this.strategy = strategy;
	}

	public void contextInterface() {
		strategy.algorithmInterface();
	}
}

/**
 * 客戶端代碼
 * @author Salmon
 * 
 */
public class Client {
	public static void Main(String[] args) {
		Context c = new Context(new ConcreteStrategyA());
		c.contextInterface();

		Context d = new Context(new ConcreteStrategyB());
		d.contextInterface();

		Context e = new Context(new ConcreteStrategyC());
		e.contextInterface();
	}
}
  

?

策略(Strategy)模式


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产欧美久久久精品影院 | 中文偷拍视频在线观看 | 久久久视频6r| 亚洲综合色自拍一区 | 99999久久久久久亚洲 | 麻豆成人久久精品二区三区小说 | 插久久| 欧美另类黑人巨大videos | 成人性生交大片免费看午夜a | 欧美xingai| 在线观看国产一区亚洲bd | 国产日产欧美精品 | 中文字幕 二区 三区 搜查官 | 久久99精品久久久久久 | 精品色视频 | 国产一区视频在线免费观看 | 色人久久 | 一级a性色生活片毛片 | 4hu四虎永久网址 | 青草久操 | 在线免费一区二区 | 理论片在线观看视频 | 亚洲精品久久久久综合91 | 久久青青视频 | 亚洲国产一区二区三区a毛片 | 久久久久香蕉 | 欧美三级一区二区 | 色综合久久久久久久 | 天天做天天爱天天怼 | 精品视频午夜一区二区 | 一区二区三区乱码 | 伊人色婷婷综在合线亚洲 | 国产成人啪一区二区 | 国产一区二区免费福利片 | 国产高清国产专区国产精品 | 天堂日韩 | 久久国产精品国产自线拍免费 | 香蕉青草久久成人网 | 欧美日韩网址 | 看全大色黄大色黄大片一级爽 | 999久久免费高清热精品 |