java策略模式如何实现
发表于:2024-11-22 作者:千家信息网编辑
千家信息网最后更新 2024年11月22日,本篇内容介绍了"java策略模式如何实现"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!刘备要到江东娶
千家信息网最后更新 2024年11月22日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安全错误
数据库的锁怎样保障安全
数据统计数据库
计算机网络技术三级第二大题
服务器防护设备哪个好
数据库asp技术
台州物流软件开发安全
省文化集团数据库建设
定时取数据库
冬奥会怎样连接服务器
洪山软件开发与定制
南京海航软件开发活动简介
网络安全学院是什么意思
网络安全可能带来的影响
绍兴软件开发驻场大概多少钱
软件开发质量管理薪资怎么样
黑魂1重制版联机服务器
数据库防伪算法开发
河南纯泽网络技术有限公司
管网络安全的部门叫什么意思
gis数据库建库
数据库是按什么划分的
浙江应用软件开发系统
dns服务器是什么类型服务器
软件开发人才从事
北京crm软件开发价格
服务器都是绿灯是不是正常
网络安全可能带来的影响
计算机网络技术什么是差错
辽源app软件开发
dna大数据库照亮回家的路
丰南区辅助软件开发