策略模式
来源:互联网 发布:小说api接口知乎 编辑:程序博客网 时间:2024/05/22 02:00
策略模式通用类图:
优点:
1.扩展性好,只需要实现策略接口就可以;
2.高层模块,算法的切换方便;
缺点:
1.增加策略的时候,策略就得增加一个策略类,类会很多;
2.所有策略类都对外暴露,上层模块知道有哪些策略才能使用。
通用源码:
//策略接口package unit18.Strategy;public interface Strategy { void doSomething();}//策略的实现package unit18.Strategy;public class ConcreteStrategy1 implements Strategy{ @Override public void doSomething() { // TODO Auto-generated method stub System.out.println("这是一个策略"); }}//封装角色package unit18.Strategy;public class Context { private Strategy strategy=null; public Context(Strategy strategy){ this.strategy=strategy; } public void doAnything(){ this.strategy.doSomething(); }}//上层模块package unit18.Strategy;public class Client { public static void main(String[] args) { // TODO Auto-generated method stub Strategy strategy=new ConcreteStrategy1(); Context context=new Context(strategy); context.doAnything(); }}
0 0
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 浅析HTTPS与SSL原理
- JS全国城市三级联动
- 《C缺陷与陷阱》读书总结
- 心理学报
- 四周实现爬虫系统(2)---爬取租房信息
- 策略模式
- 如何删除npm之前设置的npm config set prefix...
- 北朝鲜的基督徒(没有不哭的)!
- Dataset的用法
- spring在ssh框架中到底起到什么作用
- 实习工作日志
- Logstash配置总结和实例
- Python-OpenCV 处理图像(七):图像灰度化处理
- 如何在CentOS6.5下编译64位的Hadoop2.x(一)