java策略模式如何实现
发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,本篇内容介绍了"java策略模式如何实现"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!刘备要到江东娶
千家信息网最后更新 2025年02月05日java策略模式如何实现
本篇内容介绍了"java策略模式如何实现"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
刘备要到江东娶老婆了,走之前诸葛亮给赵云(伴郎)三个锦囊妙计,说是按天机拆开解决棘手问题,
嘿,还别说,真是解决了大问题,搞到最后是周瑜陪了夫人又折兵呀,那咱们先看看这个场景是什么样子的。
先说这个场景中的要素:三个妙计,一个锦囊,一个赵云,妙计是小亮同志给的,妙计是放置在锦囊里,俗称就是锦囊妙计嘛,那赵云就是一个干活的人,从锦囊中取出妙计,执行,然后获胜,用 JAVA 程序怎么表现这个呢?我们先看类图:
三个妙计是同一类型的东东,那咱就写个接口:package com.cbf4life.strategy;*首先定一个策略接口,这是诸葛亮老人家给赵云的三个锦囊妙计的接口**/public interface IStrategy {//每个锦囊妙计都是一个可执行的算法public void operate();}
然后再写三个实现类,有三个妙计嘛:package com.cbf4life.strategy;/***找乔国老帮忙,使孙权不能杀刘备*/public class BackDoor implements IStrategy { public void operate() { System.out.println("找乔国老帮忙,让吴国太给孙权施加压力"); }}package com.cbf4life.strategy;/***求吴国太开个绿灯*/public class GivenGreenLight implements IStrategy { public void operate() { System.out.println("求吴国太开个绿灯,放行!"); }}package com.cbf4life.strategy;/***孙夫人断后,挡住追兵*/public class BlockEnemy implements IStrategy { public void operate() { System.out.println("孙夫人断后,挡住追兵"); }}
好了,大家看看,三个妙计是有了,那需要有个地方放这些妙计呀,放锦囊呀:package com.cbf4life.strategy;/***计谋有了,那还要有锦囊*/public class Context {//构造函数,你要使用那个妙计 private IStrategy straegy; public Context(IStrategy strategy){ this.straegy = strategy; } //使用计谋了,看我出招了 public void operate(){ this.straegy.operate(); }}
然后就是赵云雄赳赳的揣着三个锦囊,拉着已步入老年行列的、还想着娶纯情少女的、色迷迷的刘老爷子去入赘了,嗨,还别说,小亮的三个妙计还真是不错,瞅瞅:
package com.cbf4life.strategy;public class ZhaoYun {/***赵云出场了,他根据诸葛亮给他的交代,依次拆开妙计*/public static void main(String[] args) { Context context; //刚刚到吴国的时候拆第 System.out.println("-----------刚刚到吴国的时候拆第一个-------------"); context = new Context(new BackDoor()); //拿到妙计 context.operate(); //拆开执行 System.out.println("\n\n\n\n\n\n\n\n"); //刘备乐不思蜀了,拆第二个了 System.out.println("-----------刘备乐不思蜀了,拆第二个了-------------");
context = new Context(new GivenGreenLight()); context.operate();
//执行了第二个锦囊了
System.out.println("\n\n\n\n\n\n\n\n"); //孙权的小兵追了,咋办?拆第三个 System.out.println("-----------孙权的小兵追了,咋办?拆第三个-------------"); context = new Context(new BlockEnemy()); context.operate(); //孙夫人退兵 System.out.println("\n\n\n\n\n\n\n\n"); /* *问题来了:赵云实际不知道是那个策略呀,他只知道拆第一个锦囊, *而不知道是BackDoor这个妙计,咋办?
似乎这个策略模式已经把计谋名称写出来了 * *错!BackDoor、GivenGreenLight、BlockEnemy只是一个代码,
你写成first、second、third,没人会说你错! *策略模式的好处就是:体现了高内聚低耦合的特性呀,缺点嘛,这个那个,我回去再查查 */ }}
"java策略模式如何实现"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
妙计
锦囊
三个
赵云
策略
模式
锦囊妙计
夫人
就是
刘备
孙权
接口
计谋
问题
诸葛
诸葛亮
乐不思蜀
内容
场景
实际
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
湖州营销网络技术来电咨询
俄罗斯服务器 游戏
计算机网络技术听课笔记
2020年中国数据库市场
服务器监控推广方案
n2n服务器
软件开发与芯片的关系
网络技术项目总结
电脑主机做监控存储服务器
访问路由器数据库
对于服务器管理的工作总结
泰拉瑞亚服务器玩家分组
数据库直读方式一般应用到什么
网络安全的a股
虎牙星辉洪荒服务器怎么进
赛博 网络安全
debian服务器驱动
四方精创软件开发招聘
软件开发岗笔试题目
京东软件开发地点
数据库相关软件
查看ntp服务器时间
浪潮云软件开发服务功能模块
服务器机柜方案
湖南软件开发有哪些公司
我的世界服务器存档管理器
stride网络安全宣传周
debian服务器驱动
湖北服务器维保云主机
ibm服务器装linux