设计模式之策略模式

1 概述

    策略模式(Strategy Patern),是把针对同一件事情的不同的算法分别封装起来,并且相互之间可以替换。这种模式的使用需要以下三种角色:

(1)环境角色:应用不同的策略来达到完成某件事情的目的;

(2)抽象策略角色:通常由接口或者抽象类实现,所有的具体角色都继承此抽象;

(3)具体策略角色:具体的算法实现;

2 示例

    相对来说,例子还是挺多的,比如淘宝搜索的时候,是按照卖出量排序还是价格排序还是好评度排序等等。

    前面的几种模式都是拿手机做例子,那还是继续手机做例子吧。

    现在的智能手机基本上都是大屏幕,看着花里胡哨的很爽。流行的手机操作系统都支持换屏幕主题的功能。不同的Theme有着不同的背景图、图标、字体。用户还能自定义特殊癖好的主题。

    首先来个接口,所有的手机主题都必须实现此接口

 1 package org.scott.strategy;
 2 /** 
 3  * @author Scott
 4  * @date 2013年12月22日 
 5  * @description
 6  */
 7 public interface Theme {
 8     public void backGround();
 9     public voi
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值