投放广告网站,贵阳网站建设q.479185700惠,做像58同城这样的网站能用mysql数据库吗,网页设计素材 旅游9.1 模式介绍 策略模式是一种行为型设计模式#xff0c;用于在运行时灵活切换对象的行为或算法#xff0c;它将算法封装为独立的类#xff0c;使得它们可以互相替换#xff0c;而不会影响使用这些算法的客户端代码。 策略模式的核心思想是#xff1a;定义一系列可互换的算…9.1 模式介绍 策略模式是一种行为型设计模式用于在运行时灵活切换对象的行为或算法它将算法封装为独立的类使得它们可以互相替换而不会影响使用这些算法的客户端代码。 策略模式的核心思想是定义一系列可互换的算法或行为将其独立于使用它们的上下文并在运行时动态选择或切换策略。 9.2 实现要素 策略模式实现3要素包括抽象策略接口(所有策略类必须实现的公共接口)、具体策略实现类(实现了抽象策略接口封装了不同的算法或行为每个实现类表示一种策略)、上下文类(持有策略接口的引用负责调用具体策略的行为)。 9.3 场景案例 策略模式可以用“支付系统”来说明比如一个电商平台支持多种支付方式如信用卡、支付宝、微信支付等。用户在支付时可以根据自己的需求选择不同的支付方式支付逻辑完全由具体的支付策略负责。 抽象策略接口PaymentStrategy 表示支付策略接口定义了所有支付方式必须实现的方法pay(amount)这是整个支付系统的行为标准确保每种支付方式都能被上下文调用。 具体策略实现类每种支付方式信用卡支付、支付宝支付、微信支付作为独立的类实现了 PaymentStrategy 接口分别封装了其特定的支付逻辑。 CreditCardPayment实现信用卡支付逻辑。 AliPayPayment实现支付宝支付逻辑。 WeChatPayPayment实现微信支付逻辑。 上下文类上下文类 PaymentContext 持有 PaymentStrategy 的引用负责调用具体的支付逻辑它提供了设置支付策略的方法setStrategy(strategy)可以在运行时动态切换支付方式。 客户端通过调用上下文类PaymentContext与具体支付策略实现类如 CreditCardPayment、AliPayPayment、WeChatPayPayment交互且上下文类支持动态切换支付策略。每种策略封装了具体的支付逻辑简化了支付过程避免了客户端代码中的复杂条件判断或硬编码。 ★ 为进一步加深对该模式的理解你可以使用策略模式实现一个计算器加减乘除、一网打尽