首页 > 代码库 > 设计模式之策略模式
设计模式之策略模式
定义:它定义了算法家族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化,不会影响到使用算法的客户
结构图:
示例代码:
public interface Strategy { public void algorithnInterface(); } public class ConcreteStrategyA implements Strategy { @Override public void algorithnInterface() { // TODO Auto-generated method stub System.out.println("算法A实现"); } } public class ConcreteStrategyB implements Strategy { @Override public void algorithnInterface() { // TODO Auto-generated method stub System.out.println("算法B实现"); } } public class ConcreteStrategyC implements Strategy { @Override public void algorithnInterface() { // TODO Auto-generated method stub System.out.println("算法C实现"); } } public class Context { private Strategy strategy; public Context(Strategy strategy) { this.strategy = strategy; } public void contextInterface() { strategy.algorithnInterface(); } }客户端代码:
public class Client { public static void main(String[] args) { Context context = null; context = new Context(new ConcreteStrategyA()); context.contextInterface(); context = new Context(new ConcreteStrategyB()); context.contextInterface(); context = new Context(new ConcreteStrategyC()); context.contextInterface(); } }
运行输出:
算法A实现
算法B实现
算法C实现
设计模式之策略模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。