天天看點

設計模式---政策模式                            設計模式---政策模式

                            設計模式---政策模式

設計模式---政策模式                            設計模式---政策模式
設計模式---政策模式                            設計模式---政策模式
設計模式---政策模式                            設計模式---政策模式
public class Context {
	private Strategy strategy;
	public Context(Strategy strategy) {
		this.strategy = strategy;
	}
	
	public void encrypt() {
		this.strategy.encrypt();
	}
}
           
public interface Strategy {

	//加密
	public void encrypt();
}
           
public class MDSStrategy implements Strategy{

	public void encrypt() {
		System.out.println("執行MDS加密");
	}

}
           
public class MD5Strategy implements Strategy{

	public void encrypt() {
		System.out.println("執行MD5加密");
	}
}
           
public class MainClass {
	public static void main(String[] args) {
//		Strategy stra = new MDSStrategy();
//		stra.encrypt();
		Context context = new Context(new MDSStrategy());
		context.encrypt();
	}
}
           
設計模式---政策模式                            設計模式---政策模式

 政策模式具體執行個體

package com.ibeifeng.strategy;

public interface Strategy {

	public double cost(double num);
}
           
package com.ibeifeng.strategy;

public class StrategyA implements Strategy{

	public double cost(double num) {
		return num * 0.8;
	}

}
           
package com.ibeifeng.strategy;

public class StrategyB implements Strategy {

	public double cost(double num) {
		if(num >= 200) {
			return num - 50;
		}
		return num;
	}

}
           
package com.ibeifeng.strategy;

public class Context {
	private Strategy strategy;
	
	public Context(Strategy strategy) {
		this.strategy = strategy;
	}
	
	public double cost(double num){
		return this.strategy.cost(num);
	}
	
}
           
package com.ibeifeng.strategy;

public class MainClass {
	public static void main(String[] args) {
		double num = 200;
		Context context = new Context(new StrategyB());
		double newNum = context.cost(num);
		System.out.println("實際付賬" + newNum + "元");
	}
}
           
設計模式---政策模式                            設計模式---政策模式
設計模式---政策模式                            設計模式---政策模式

繼續閱讀