- 浏览: 138338 次
- 性别:
- 来自: 苏州
文章分类
最新评论
-
yaoweinan:
没有.....
Itext 5.4.0 生成PDF中文不报错,Adobe 不显示 -
马文涛:
我也发现这个问题了,你找到解决办法了吗?
Itext 5.4.0 生成PDF中文不报错,Adobe 不显示 -
coding1688:
博主辛苦了,也可以参考一下这篇文章:四步轻松搞定瀑布流布局ht ...
瀑布流布局个人实现 -
yaoweinan:
嘿嘿,那个只是最笨的办法,实际上是不行的,现在一般的都有sw ...
文件上传(无刷新,带进度条,带网速)下载完整 -
javazzu:
我为啥不行呢
文件上传(无刷新,带进度条,带网速)下载完整
策略模式是针对在进行过程中出现一些问题的应对模式。一般可以分为2种 :按顺序给予问题应对方法或者根据出现的问题给予处理方法。个人觉着还是后面的比较实际一些,更能体现出随机应变。
策略模式分为3个部分
1.抽象策略类(通常是一个抽象类或者接口来声明策略具备的功能)
2.具体策略类(继承抽象策略类,实现具体的应对方法)
3.应用策略类(掌控策略的使用)
下面举例说明策略模式:
情景:一个导游要组织一次户外旅游,那么在户外旅游时候可能出现很多问题需要他来处理,这里只说简单的三种:食物不够、车子坏了、风景不好看三个问题。那么导游在出发以前已经预料到可能出现这些问题,他就在大脑中想出这三种问题的解决办法:买食物、修车子、换景区,在旅行当中应对这三种问题。
三个解决方案都是处理问题的
IStrategy
package j2se.pattern;
/** * 应对问题的操作 * @author Lyon Yao * */ public interface IStrategy { /** * 处理问题 */ public void dealProblem(); }
三种具体应对方案:
1.BuyMoreFood
package j2se.pattern.impl; import j2se.pattern.IStrategy; /** * 应对食物不足 * @author Lyon Yao * */ public class BuyMoreFood implements IStrategy { @Override public void dealProblem() { // TODO Auto-generated method stub1 System.out.println("Our food is not enough and we must find a store to buy more food!"); } }
2.FixCar
package j2se.pattern.impl; import j2se.pattern.IStrategy; /** * 车子坏了 * @author Lyon Yao * */ public class FixCar implements IStrategy { @Override public void dealProblem() { // TODO Auto-generated method stub System.out.println("there some wrong with our car,we must to repair it!"); } }
3.ToAnOtherPlace
package j2se.pattern.impl; import j2se.pattern.IStrategy; /** * 应对风景不好 * @author Lyon Yao * */ public class ToAnOtherPlace implements IStrategy{ @Override public void dealProblem() { // TODO Auto-generated method stub System.out.println("Scenery is good,go back early!"); } }
领队
Leader
package j2se; import j2se.pattern.IStrategy; import j2se.pattern.impl.BuyMoreFood; import j2se.pattern.impl.FixCar; import j2se.pattern.impl.ToAnOtherPlace; import java.util.HashMap; import java.util.Map; /** * 领队 * @author Lyon Yao * */ public class Leader { /** * 领队的大脑,存放很多处理方法 */ private Map<String,IStrategy> brain=new HashMap<String, IStrategy>(0); private IStrategy cur_deal=null; /** * 遇到问题操作 * @param problem */ public void operate(String problem){ cur_deal=brain.get(problem); if(cur_deal!=null){ cur_deal.dealProblem(); } } /** * 旅行之前考虑可能出现的问题,将应对方法放入大脑 */ public void thinkBeforeTravel(){ IStrategy problem=new BuyMoreFood(); brain.put("foodProlem", problem); problem=new ToAnOtherPlace(); brain.put("SceneryProlem", problem); problem=new FixCar(); brain.put("carProlem", problem); } }
测试类
package j2se; import java.util.Random; import org.junit.Before; import org.junit.Test; /** * 测试实例 * @author Lyon Yao * */ public class TestCase { private Leader leader=new Leader(); @Before public void beforeTravel(){ leader.thinkBeforeTravel(); } @Test public void travelTest(){ String problems[]=new String[]{"foodProlem","SceneryProlem","carProlem"}; Random ran=new Random(); //不可预料的问题 for(int i=0;i<10;i++){ int problemIndex=ran.nextInt(3); String problem=problems[problemIndex]; leader.operate(problem); } } }
执行结果:
there some wrong with our car,we must to repair it!
Scenery is good,go back early!
there some wrong with our car,we must to repair it!
Our food is not enough and we must find a store to buy more food!
there some wrong with our car,we must to repair it!
Scenery is good,go back early!
there some wrong with our car,we must to repair it!
Our food is not enough and we must find a store to buy more food!
Our food is not enough and we must find a store to buy more food!
Our food is not enough and we must find a store to buy more food!
发表评论
-
写自己的框架,让别人笑掉大牙吧(IOC2)
2013-04-22 14:23 902上篇中主要使用配置文件来定义一些类实例之间的组织关系 ... -
关于java中对象属性值的校验的思考
2013-04-15 14:09 1557现在在java 开发中经常会遇到要交验某个obje ... -
java 动态编译及执行实现Web式java开发
2012-11-29 17:05 923废话不说,让大家等了这么久,先看看截图 : 编译 ... -
JXLayer 使用简单介绍
2012-11-01 17:25 1320JXLayer 是一个很好的Swing 控件装饰类库,其主要要 ... -
关于Jtextinpt 内容的限制
2012-09-28 15:00 812在JTextInput 限制输入内容,这个一般的通过按键输入进 ... -
构造中的多态
2012-08-25 23:19 857各位仁兄,前几日我在 ... -
Swing JtableModel 使用之旅
2012-07-29 03:25 1032JTable 是我们一般展示数据的一个很好的Grid组建,个人 ... -
模版模式(TemplatePattern)
2012-07-15 11:08 797模版模式分为2个部分 1.抽象模版 2.具体模版 ... -
适配器模式(Adapter Pattern)
2012-07-08 22:49 886适配器模式是就和现实一个样子,给你一个电脑适配器,它就能 ... -
门面模式(Facade Pattern)
2012-06-10 19:37 989门面模式(Facade Pattern):门面模式在我个人感觉 ... -
代理模式例子
2012-06-04 15:07 988代理模式简单点就和现实中一样,只是代理实质性的还是别人在做。比 ... -
java 工厂模式简单介绍及例子
2012-06-03 23:16 1066java中工厂模式在java ee中经常碰见,是一种常见的模式 ... -
java 动态代理及自定义标注使用例子
2012-06-03 00:14 1237java中动态代理,在实际应用中有着很大的作用,譬如在一些类似 ... -
flex3 socket+java
2012-02-06 12:10 1090首先解决的问题是flex的沙箱问题,由于flex 连接服务器存 ... -
java 自定义注解
2012-01-30 16:09 835写道 package com.my;import j ... -
图片裁剪,缩放 批处理
2012-01-07 15:25 1024package dwr.demo; import ... -
java System.Properties
2011-10-26 13:19 749使用Properties.getProperty方法的参数也可 ... -
JDK自带的实用工具native2ascii.exe
2011-10-26 09:21 842在做Java开发的时候, ... -
dom4j xml 简单操作
2011-10-24 11:02 722package com.my.until; import j ... -
装饰模式例子(模仿修改船只用途)
2011-08-28 20:31 722模仿一次出海旅行中船只的用途的动态调整 功能 写道 pac ...
相关推荐
"供应链管理模式下的旅行社采购策略" 供应链管理模式下的旅行社采购策略是以供应链管理(SCM)理论为基础,分析了在供应链管理模式下旅行社的采购活动特征,探讨了旅行社整合内外部交易功能的商务协同过程,构建了...
以下是对新旅游法下旅游业发展应对策略的详细分析: 1.1 新旅游法的主要内容与影响 新旅游法强调了旅游服务的质量保障,规定了旅游合同的权利与义务,明确了旅游者的权益,如知情权、选择权、公平交易权等。同时,...
4. 产品和服务创新:互联网推动了旅游业产品和服务的创新,如定制旅行、主题旅行、自由行等新型旅游模式应运而生,为消费者提供了更多选择。 二、面临的挑战 1. 价格透明度:互联网使得旅游产品的价格透明化,...
然而,我们可以从文件标题和描述中推断,这份报告应当涵盖了2018年互联网对中国旅行社行业所带来的机遇和挑战,以及相应的应对策略。接下来,我将围绕这些主题进行知识点的拓展。 首先,互联网对旅行社行业带来的...
【黄金周对旅游环境的影响与应对策略】 自从2000年中国实施黄金周制度以来,这一长假安排极大地推动了国内旅游业及相关产业的发展,丰富了人们的休闲生活。然而,随着旅游人数的剧增,黄金周也对我国的经济、社会...
总结,新旅游法的实施是旅行社行业的一次重大变革,旅行社必须适应新的法规要求,调整经营策略,提升服务质量,以应对市场的变化。同时,这也为旅游业的长远发展打下了坚实的基础,有望创造一个更加健康、有序的旅游...
【内容详解】: 这个压缩包内的文档(262-4月8日-遵义市中小型旅行社发展策略-2.16-陈靖-20140407.docx)很可能包含了对遵义市中小型旅行社在特定时期的发展状况、市场分析、竞争态势、机遇与挑战以及应对策略的深度...
信息技术的进步不仅改变了人们的出行方式,也推动了旅游行业的企业进行结构调整,使得传统旅行社在激烈的市场竞争中面临不少问题。在线旅行社的迅猛发展,由于产品透明、操作实时、便利性以及消费者群体年轻化的特点...
本文主要探讨了四种旅行社行业电子商务的发展模式,以应对信息技术带来的挑战和机遇。 1. 基于第三方旅游交易平台的合伙模式:以中国旅盟网、中华知行网等为代表的第一代旅游交易平台,它们作为资源营销商,整合了...
为了应对激烈的市场竞争,旅游网站应不断改善移动客户端平台技术,提供更加个性化的产品和服务。同时,为了实现可持续发展,旅游电商企业应注重会员体系的构建,提供稳定可靠的旅游服务,以此来提升用户的忠诚度和...
本文档《旅游3.0:数字化旅行变革时代中的应对之道》深入探讨了在数字化大潮之下,旅行行业如何应对挑战和把握机遇。 标题中提到的“旅游3.0”,代表了旅行行业的第三个发展阶段,即数字化转型阶段。这个阶段的特征...
【周庄旅游模式的发展变革和创新之路】 周庄,被誉为“中国第一水乡”,自上世纪九十年代初因油画...同时,也要吸取过去的经验教训,不断完善旅游管理策略,以应对旅游市场的新变化,保持其在国内外旅游市场的竞争力。
【电子商务营销模式在旅游市场的应用】\n\n随着信息技术的快速发展,电子...通过深入挖掘消费者需求,利用UGC、SNS和C2B等创新手段,旅游企业可以构建更高效、更具吸引力的营销策略,以应对市场竞争,实现可持续发展。
【传统旅行社网络营销模式转型探析】 随着社会信息化的飞速发展和“互联网+”时代的到来,旅游业也经历了深刻的变革。传统旅行社的营销模式受到...只有这样,才能在激烈的市场竞争中立足,赢得未来旅游市场的主动权。
描述与标题相同,再次强调了资料的主题是关于遵义市中小型旅行社的发展策略,暗示了内容可能涉及旅行社的市场分析、竞争环境、业务模式、管理策略、营销战略等方面。 【标签解析】 标签“资料”说明这个压缩包包含...
【旅游营运模式】是旅游业中一个重要的概念,它关乎如何有效地组织、管理和运营旅游业务,以实现可持续的商业成功。这份名为"旅游营运模式.ppt"的文件很可能包含了一系列关于旅游行业的经营策略、盈利模式、市场定位...
对于乌镇发展模式中存在的问题,论文提出了多角度的改进策略和优化路径。 综上所述,这篇论文全面探讨了全域旅游视角下旅游小镇的发展模式,尤其是乌镇的实践经验,为旅游小镇的规划与开发提供了理论依据和实践参考...
这篇由余芳芳撰写的《信息时代我国旅行社营销策略探讨》文章着重讨论了互联网如何影响旅行社业务,并提出了应对的新策略。 首先,计算机网络技术使得旅行社的业务流程得以再造。传统的旅行社组织结构过于依赖部门...
旅游地产作为房地产行业的一个分支,近年来在国内迅速发展。它依托于丰富的旅游资源,通过...在其快速发展的背后,需要业界人士对旅游地产的运营模式和发展战略有更深入的理解和洞察,以应对未来可能出现的挑战与机遇。