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

策略(Strategy)模式

系統(tǒng) 1607 0

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

一,結(jié)構(gòu):

?

?

?

?

?

?

?

?

?

?

?

?

環(huán)境(Context)角色 :持有一個(gè)Strategy類的引用。

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

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

二,示例代碼

    /**
 * 抽象策略(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()");
	}
}

/**
 * 環(huán)境(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)模式


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

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

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 欧美a级毛片 | 亚洲欧美色综合精品 | 日韩国产欧美视频 | 国产美女一级高清免费观看 | 久久精品免观看国产成人 | 久久一区 | 老妇激情毛片免费 | 四虎精品免费永久在线 | 伊人久久大香线蕉亚洲 | 精品国产一区二区三区2021 | 五月婷婷中文字幕 | se视频在线| 无遮挡一级毛片性视频不卡 | 四虎永久在线精品影院 | 国产精品欧美亚洲韩国日本99 | 日日摸狠狠的摸夜夜摸 | 午夜欧美在线 | 手机在线看片不卡中文字幕 | 91精品国产综合久久精品 | 亚洲人成网站色7799在线观看 | 亚洲综合国产一区在线 | 久久综合给会久久狠狠狠 | 亚洲偷图色综合色就色 | 亚洲欧美精品一中文字幕 | 99精品久久久久中文字幕 | 日韩中文字幕在线有码视频网 | 毛片高清| 性大特级毛片视频 | 夜夜cao | 俄罗斯一级在线播放 | 欧美夜夜片a | 日本激情视频一区二区三区 | 四虎影视4hu4虎成人 | 九九爱www高清免费人成 | 中文一级国产特级毛片视频 | 99精品国产高清一区二区 | 久久久噜噜噜 | 愉拍自拍视频在线播放 | 午夜国产精品久久久久 | 四虎最新永久在线精品免费 | 黄色香蕉视频网站 |