策略模式+简单工厂之旅游出行策略与门票折扣案例

策略模式+简单工厂

(1)旅游出行策略(飞机,高铁,大巴,骑行,徒步至少两种出行方式)

出行类:

package gsg.gao4;
class AirplaneStrategy implements  TravelStrategy
{
   	
	public void travelMethod()
	{
   
		System.out.println("飞机游!");
	}
}

class TrainStrategy implements  TravelStrategy
{
   
	public void travelMethod()
	{
   
		System.out.println("火车游!");
	}
}

class BicycleTravelStrategy implements  TravelStrategy
{
   
	public void travelMethod()
	{
   
		System.out.println("大巴游!");
	}
}
class buxing implements  TravelStrategy
{
   
	public void travelMethod()
	{
   
		System.out.println("步行!");
	}
}

MyContext类:

package gsg.gao4;

public class MyContext
{
   
	private TravelStrategy ts;
	public MyContext(TravelStrategy ts)
	{
   
		this.ts=ts;
	}
	public void travelMethod()
	{
   
		ts.travelMethod();
	}
}
TravelStrategy类:
package gsg.gao4;

interface TravelStrategy
{
   
	
	public void travelMethod()
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 策略模式是一种行为设计模式,它允许在运行时选择算法的行为。在旅游出行中,策略模式可以用来选择最佳的出行策略,例如选择火车、飞机、自驾车等方式。 以下是一个使用策略模式实现旅游出行策略的示例代码: ```java // 定义出行策略接口 interface TravelStrategy { void travel(); } // 实现不同的出行策略 class TrainStrategy implements TravelStrategy { public void travel() { System.out.println("乘坐火车出行"); } } class AirplaneStrategy implements TravelStrategy { public void travel() { System.out.println("乘坐飞机出行"); } } class CarStrategy implements TravelStrategy { public void travel() { System.out.println("自驾车出行"); } } // 定义旅客类,使用策略模式选择出行策略 class Traveler { private TravelStrategy strategy; public Traveler(TravelStrategy strategy) { this.strategy = strategy; } public void setStrategy(TravelStrategy strategy) { this.strategy = strategy; } public void travel() { strategy.travel(); } } // 示例代码 public class Main { public static void main(String[] args) { Traveler traveler = new Traveler(new TrainStrategy()); traveler.travel(); // 输出:乘坐火车出行 traveler.setStrategy(new AirplaneStrategy()); traveler.travel(); // 输出:乘坐飞机出行 traveler.setStrategy(new CarStrategy()); traveler.travel(); // 输出:自驾车出行 } } ``` 可以看到,通过使用策略模式,我们可以在运行时选择不同的出行策略,从而实现更加灵活的旅游出行方式。 ### 回答2: 策略模式可以很好地实现旅游出行策略。在旅游出行过程中,不同的人有不同的需求和偏好,他们可能会选择不同的出行方式、食宿、景点安排等。策略模式可以帮助我们根据不同的需求和偏好选择合适的旅游出行策略。 首先,我们可以定义一个抽象的旅游策略接口,包含选择出行方式、预定酒店、安排景点等操作。然后,针对不同的需求和偏好,我们可以实现不同的具体策略类,每个具体策略类对应一种旅游出行策略。 比如,对于喜欢自由行的人,我们可以实现一个自由行策略类,该策略类的选择出行方式可能是租车或者使用公共交通工具,预定酒店可以选择青年旅社或者民宿等经济实惠的住宿方式,而安排景点的方式可以是自行规划或者参加当地的旅游团。 对于喜欢跟团游的人,我们可以实现一个跟团游策略类,该策略类的选择出行方式可能是选择旅行社组织的旅游团,预定酒店和安排景点都由旅行社进行统一安排。 当用户需要选择旅游出行策略时,可以根据自己的需求和偏好选择对应的策略类进行旅游出行。这样一来,无论是自由行还是跟团游,都可以根据策略模式进行灵活地选择和组合旅游出行策略,满足不同人群的需求。同时,策略模式还具有扩展性,当出现新的旅游出行策略时,我们只需要增加新的具体策略类即可,不需要修改原有的代码,符合开闭原则。 总之,策略模式能够很好地实现旅游出行策略,通过定义抽象策略接口和具体策略类进行选择和组合,能够满足不同需求和偏好的旅游出行方式,提供更好的用户体验。 ### 回答3: 策略模式是一种设计模式,其目的是定义一系列算法,将每个算法封装成一个独立的策略类,并使它们可以相互替换。在旅游出行策略中,策略模式可以被用来实现不同的出行策略,例如选择旅游目的地、预订交通工具和酒店等等。 在该场景下,可以创建一个策略接口,例如TravelStrategy,其中定义了旅游出行的具体策略方法。然后,针对不同的出行策略,实现相应的策略类,例如PlaneTravelStrategy、TrainTravelStrategy和CarTravelStrategy。 这些策略类可以根据不同的出行方式来进行实现,例如PlaneTravelStrategy可以提供选择飞机出行,并负责预订机票、安排行程等任务;TrainTravelStrategy可以提供选择火车出行,并处理火车票预订和行程安排;CarTravelStrategy可以提供选择自驾出行策略,包括租车、规划路线等。 在客户端,可以根据用户的需求选择相应的旅游出行策略。例如,用户可以通过界面选择飞机出行,在后台使用PlaneTravelStrategy来实现相应的策略逻辑。如果用户变更出行方式,也可以轻松切换策略,例如选择火车出行,则使用TrainTravelStrategy进行策略逻辑的实现。 通过策略模式,可以有效地将旅游出行策略的具体实现与客户端进行解耦,使得客户端可以轻松选择不同的策略并进行切换。同时,策略模式还提供了非常好的扩展性,可以随时添加新的旅游出行策略类,以适应未来可能出现的新的出行方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yet again

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值