千家信息网

Android中如何实现策略模式

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍了Android中如何实现策略模式的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Android中如何实现策略模式文章都会有所收获,下面我们一起来看看吧。策
千家信息网最后更新 2026年11月03日Android中如何实现策略模式

这篇文章主要介绍了Android中如何实现策略模式的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Android中如何实现策略模式文章都会有所收获,下面我们一起来看看吧。

策略模式

一个功能的效果,有不同的算法与策略,根据不同的选择选择不同的结果。

简单来说,只要你写过程序就用过策略模式,不要说没用过,难道if-else(switch)没用过吗

if-else在其实就是一个策略模式的体现,根据不同的选择处理不同的结果。

问题

如果把所有的方法全部用if-else(switch)来处理,从功能上说没问题,但是冲代码层面的维护与使用来说,if-else多了之后会让类变的过于庞大,阅读不利,修改困难

解决问题

使用策略模式,定义统一接口,每一个不同的功能(if-else)实现接口做一个具体类,外部调用具体类来达到不同的结果。

使用场景

同一个问题,有不同的解决方案
一个类有多个if-else的判断处理结果
封装SDK时上层处理结果返回的情况,调用者关心结果,不关注实现过程
列入Android源码中的动画的TimeInterpolator,ListView的适配器

代码实现

有一个商品售卖,在售卖过程中,要根据不同的用户给予不同的价格(半价,8折,7折等等),在知道用户的前提下,如何直接给予价格呢?

(一)价格接口的实现

public interface PriceStrategy { int setPrice(int price);}

(二)实现具体的价格类

7折:

public class seventPriceStrategy implements PriceStrategy { @Override public Double setPrice(int price) {  return 0.7 * price; }}

5折:

public class HalfPriceStrategy implements PriceStrategy { @Override public Double setPrice(int price) { return 0.5 * price; }}

(三)价格算法管理类

public class PriceAlgorithm { private PriceStrategy priceStrategy; public PriceStrategy getPriceStrategy() { return priceStrategy; } public void setPriceStrategy(PriceStrategy priceStrategy) { this.priceStrategy = priceStrategy; } public Double getPrice(int price) { if(priceStrategy!=null){  return priceStrategy.setPrice(price); } return null; }}

传入具体的实现类,获取返回接口

(四)调用方式

 PriceAlgorithm priceAlgorithm = new PriceAlgorithm(); priceAlgorithm.setPriceStrategy(new HalfPriceStrategy()); System.out.print("\n" + "1块钱" + "5折后的价格:" + String.valueOf(priceAlgorithm.getPrice(1))); PriceAlgorithm priceAlgorithm2 = new PriceAlgorithm(); priceAlgorithm2.setPriceStrategy(new seventPriceStrategy()); System.out.print("\n" + "2块钱" + "7折后的价格:" + String.valueOf(priceAlgorithm2.getPrice(2)));

(五)显示结果

1块钱5折后的价格:0.5
2块钱7折后的价格:1.4

关于"Android中如何实现策略模式"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"Android中如何实现策略模式"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

不同 策略 价格 模式 结果 接口 问题 处理 功能 知识 选择 代码 内容 用户 算法 篇文章 过程 困难 上层 不利 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 保险科技 互联网保险 博彦科技互联网金融 厦门中拓互联网络科技有限公司 重庆互联网络科技 网络科技有限互联网 互联网科技金融公司 互联网科技英文 融势互联网科技 齐家互联网科技有限公司 海南科技产业互联网平台 天速互联网络科技有限公司 恒银科技与互联网金融 晓花互联网科技有限公司网址 互联网科技人工智能实验室 天津腾达互联网科技有限公司 保险科技服务互联网营销体系 中科明德北京互联网科技 互联网科技包装股份有限公司上市 互联网科技和医药行业 现代科技的标志之一的互联网 互联网巨头科技公司 科技类互联网 网络科技有限互联网 礼当家互联网科技 博兴的互联网电子科技公司 昭通云南众福互联网科技有限公司 湖北码尼互联网科技有限公司电话 互联网科技产业特征 互联网科技和信息 国大互联网教育科技有限公司工作
0