策略模式(Strategy Model)

  • 定义:一个类的行为或算法能在运行时被改变,将一组算法封装成一系列对象,通过这些对象灵活改变系统功能;
  • 实现方式:
    • 首先定义个strategy接口,然后创建一系列对象(strategy objects)实现这个接口代表不同的策略方式;
    • 然后创建一个上下文对象(context object),以传入不同的策略而做出不同的表现形式;

  • JDK实例:线程池ThreadPoolExecutor的4种安全策略即采用策略模式(参考“JAVA 线程池”);
  • 项目实例:爬虫抓取每个网站的动态页面数据时,每个网站实现Strategy中的crawl(rawdata)处理:不同的正则匹配规则,不同的编码转换,不同的clean规则;Context做为一个线程类,在应用启动加载时,以多线程的方式运行去抓取每个动态网站。

 

posted @ 2018-08-27 10:13  岩文01  阅读(421)  评论(0编辑  收藏  举报