设计模式--策略模式
来源:互联网 发布:网络综合布线图 编辑:程序博客网 时间:2024/05/18 14:26
/** * Created by zwf on 2017/1/10. * 策略模式 * 问题场景:假设我们遇到一个问题,有几个解决办法,那么我们如何利用这些办法将问题解决呢? * 1.先将这些方法抽象出公共的接口,将方法变成接口的实现类 * 2.定义一个操作类(也就是执行方法的类),利用多态的特性将这些方法的实例作为参数传递给操作类 * 3.解决问题(即执行操作类里面的方法,其实质就是调用实现类的方法) *//** * 测试案列 */class Test{ static void main(String[] args) { new UseMethrod(new Method1()).use(); new UseMethrod(new Methrod2()).use(); new UseMethrod(new Methrod3()).use(); }}/** * 定义公共的方法接口 */public interface IStrategy { void operate();}/** * 实现类1 */class Method1 implements IStrategy { @Override public void operate() { Log.d("tag","执行策略1"); }}/** * 实现类2 */class Methrod2 implements IStrategy{ @Override public void operate() { Log.d("tag","执行策略2"); }}/** * 实现类3 */class Methrod3 implements IStrategy{ @Override public void operate() { Log.d("tag","执行策略3"); }}/** * 执行操作类 */class UseMethrod { private IStrategy mIStrategy;//多态 public UseMethrod(IStrategy iStrategy) { this.mIStrategy = iStrategy; } public void use() { mIStrategy.operate(); }}
0 0
- 设计模式-策略模式
- 设计模式:策略模式
- 设计模式-策略模式
- 设计模式 - 策略模式
- 设计模式-策略模式
- 设计模式-----策略模式
- 设计模式 策略模式
- 设计模式-策略模式
- 设计模式-【策略模式】
- 设计模式-----策略模式
- 设计模式-策略模式
- 设计模式--策略模式
- 设计模式- 策略模式
- 设计模式- 策略模式
- 设计模式------策略模式
- 设计模式--策略模式
- 设计模式-策略模式
- 设计模式--策略模式
- tcp过程
- c++ List(双向链表)
- Android开发——Material Design系列之TextInputLayout
- 机器学习笔记一:感知机
- hdu Employment Planning(DP)
- 设计模式--策略模式
- 【ARM-Linux开发】如何使用opkg在RicoBoard上在线安装软件包
- javascript年月份计时器简易制作
- java.lang.NoSuchMethodError: com.google.common.util.concurrent.MoreExecutors
- 建造者模式(python)
- 2016反思以及后续规划
- C++ Maps & MultiMaps
- CentOS 5/6/7网卡绑定方案
- Spring Boot系列教程六:日志输出配置log4j2