博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式之策略模式
阅读量:4946 次
发布时间:2019-06-11

本文共 987 字,大约阅读时间需要 3 分钟。

策略模式:定义一系列算法,将它们分别封装起来,让他们之间可以相互替换,但不会影响到使用算法的用户。

 

public interface Strategy {    public void function();}public class ConcreteStrategyOne implements Strategy{    @Override    public void function() {        System.out.println("One.");    }}public class ConcreteStrategyTwo implements Strategy{    @Override    public void function() {        System.out.println("Two.");    }}

 

public class StrategyContext {    private Strategy strategy;    public StrategyContext(Strategy strategy) {        this.strategy = strategy;    }    public void StrategyContextFunction() {        strategy.function();    }}

 

public class StrategyDemo {    public static void main(String[] args) {        StrategyContext contextOne = new StrategyContext(new ConcreteStrategyOne());        contextOne.StrategyContextFunction();        StrategyContext contextTwo = new StrategyContext(new ConcreteStrategyTwo());        contextTwo.StrategyContextFunction();    }}

 

转载于:https://www.cnblogs.com/emoji1213/p/7647084.html

你可能感兴趣的文章
面向对象中的一些实用概念
查看>>
微信红包和领取
查看>>
05讲、使用JPQL语句进行查询
查看>>
learning scala Function Recursive Tail Call
查看>>
IO流(三)__字节流 标准输入输出流 转换流
查看>>
微服务的数据一致性
查看>>
干货之UICollectionViewFlowLayout自定义排序和拖拽手势
查看>>
Linux下的Maven安装与配置
查看>>
ORM创建多表以及多表的增删改查
查看>>
学习小波变换与傅里叶变换
查看>>
vue项目中实现复制内容到剪贴板
查看>>
【洛谷p1983】车站分级
查看>>
数组中重复的数字
查看>>
ARMV7-M数据手册---Part B :System Level Architecture---B1 System Level Programmers’ Model
查看>>
ASP.NET MVC用户登录(Memcache存储用户登录信息)
查看>>
pair<>结构体模版的用法
查看>>
HTML5 桌面提醒 (只适用chrome)
查看>>
Android 即时音视频解决方案1——环信
查看>>
STL——迭代器的概念
查看>>
设置用户ID和设置组ID
查看>>