当前位置: 首页 > wzjs >正文

百度宣传做网站多少钱推广赚钱的app有哪些

百度宣传做网站多少钱,推广赚钱的app有哪些,网站建设仟首先金手指13,宁波静态网站网页建设文章目录 1. 策略模式(Strategy Pattern)案例:支付方式选择 2. 模板方法模式(Template Method Pattern)案例:制作饮料流程 3. 策略模式 vs 模板方法模式4.总结 在Java中,策略模式和模板方法模式…

文章目录

  • 1. 策略模式(Strategy Pattern)
      • 案例:支付方式选择
  • 2. 模板方法模式(Template Method Pattern)
      • 案例:制作饮料流程
  • 3. 策略模式 vs 模板方法模式
  • 4.总结

在Java中,策略模式模板方法模式是两种常用的行为型设计模式,它们分别通过不同的方式实现算法的灵活性和代码复用。

以下是结合具体案例的解释和对比:


1. 策略模式(Strategy Pattern)

核心思想:将算法族封装为独立的类,通过组合的方式动态切换算法,使算法的变化独立于客户端。
适用场景:需要在运行时选择不同算法(如支付方式、打折策略、消息发送方式等)的场景。

案例:支付方式选择

代码实现:

// 策略接口(网页2参考)
public interface PaymentStrategy {void pay(int amount);
}// 具体策略类
public class CreditCardStrategy implements PaymentStrategy {@Overridepublic void pay(int amount) {System.out.println("信用卡支付:" + amount + "元");}
}public class AlipayStrategy implements PaymentStrategy {@Overridepublic void pay(int amount) {System.out.println("支付宝支付:" + amount + "元");}
}// 上下文类(环境类)
public class ShoppingCart {private PaymentStrategy strategy;public void setStrategy(PaymentStrategy strategy) {this.strategy = strategy;}public void checkout(int amount) {strategy.pay(amount);}
}// 客户端使用
public class Client {public static void main(String[] args) {ShoppingCart cart = new ShoppingCart();cart.setStrategy(new CreditCardStrategy());cart.checkout(100);  // 输出:信用卡支付:100元cart.setStrategy(new AlipayStrategy());cart.checkout(200);  // 输出:支付宝支付:200元}
}

关键点:
• 通过接口定义算法族(如支付方式),具体策略类实现接口。

• 上下文类(如购物车)持有策略接口的引用,客户端动态切换策略。

• 优点:避免多重条件判断,算法可扩展性强。


2. 模板方法模式(Template Method Pattern)

核心思想:定义一个算法的骨架(固定步骤),将某些步骤延迟到子类实现,保证整体流程不变。
适用场景:算法步骤固定但部分实现可能变化(如制作饮料、数据加密流程等)。

案例:制作饮料流程

代码实现:

// 抽象类(网页7参考)
public abstract class Beverage {// 模板方法(固定步骤)public final void prepareRecipe() {boilWater();brew();pourInCup();addCondiments();}// 具体步骤(子类共享)private void boilWater() {System.out.println("烧水");}// 抽象方法(子类实现)protected abstract void brew();protected abstract void addCondiments();// 钩子方法(可选重写)protected void pourInCup() {System.out.println("倒入杯中");}
}// 具体子类
public class Tea extends Beverage {@Overrideprotected void brew() {System.out.println("冲泡茶叶");}@Overrideprotected void addCondiments() {System.out.println("加柠檬");}
}public class Coffee extends Beverage {@Overrideprotected void brew() {System.out.println("冲泡咖啡粉");}@Overrideprotected void addCondiments() {System.out.println("加糖和牛奶");}
}// 客户端调用
public class Client {public static void main(String[] args) {Beverage tea = new Tea();tea.prepareRecipe();  // 执行烧水→冲泡茶叶→倒入杯中→加柠檬Beverage coffee = new Coffee();coffee.prepareRecipe();  // 执行烧水→冲泡咖啡粉→倒入杯中→加糖和牛奶}
}

关键点:
• 抽象类定义模板方法(如prepareRecipe()),包含固定步骤和可扩展步骤(如brew())。

• 子类仅需实现抽象方法,无法修改算法骨架。

• 优点:代码复用性高,维护流程一致性。


3. 策略模式 vs 模板方法模式

对比维度策略模式模板方法模式
核心机制组合(通过接口动态切换算法)继承(父类定义骨架,子类实现细节)
灵活性更高(运行时动态切换策略)较低(编译时确定子类实现)
代码复用较少(每个策略独立)较高(复用父类模板方法)
适用场景需要多种算法灵活替换(如支付方式)固定流程但部分步骤可变(如制作饮料)
设计原则开闭原则(扩展新策略不修改原有代码)好莱坞原则(父类调用子类,而非反向)

4.总结

• 策略模式更适用于算法频繁变化的场景,例如支付方式、消息发送(如短信/邮件)。

• 模板方法模式适合固定流程但部分步骤需定制化的场景,例如饮品制作、数据处理的标准化流程。

• 选择依据:若需运行时动态切换行为,选策略模式;若需复用固定流程并允许子类扩展细节,选模板方法模式。


文章转载自:

http://lx7E6DdT.rfrnc.cn
http://chfi9oU8.rfrnc.cn
http://CYxNiRTy.rfrnc.cn
http://KHVwPsd6.rfrnc.cn
http://sICornAK.rfrnc.cn
http://sO5Ccm5U.rfrnc.cn
http://gNowMvlh.rfrnc.cn
http://5aGScHFG.rfrnc.cn
http://YSwpTRA7.rfrnc.cn
http://xPnNYA9Y.rfrnc.cn
http://n0KpXYMn.rfrnc.cn
http://WACnxTUY.rfrnc.cn
http://tQoNMqVZ.rfrnc.cn
http://etHAtA1U.rfrnc.cn
http://MzU5Jznq.rfrnc.cn
http://MMR8Y5Hs.rfrnc.cn
http://E1CelQLo.rfrnc.cn
http://r8wpJ6gQ.rfrnc.cn
http://E7spBjw5.rfrnc.cn
http://gQsVk3dI.rfrnc.cn
http://ECBdVHZI.rfrnc.cn
http://SLT1fBsL.rfrnc.cn
http://GA2i9z8Z.rfrnc.cn
http://GHriCoXC.rfrnc.cn
http://p8ZDqGqd.rfrnc.cn
http://fhJoFmnc.rfrnc.cn
http://MtEQhBF9.rfrnc.cn
http://3bQP9tUD.rfrnc.cn
http://SStJ4q9d.rfrnc.cn
http://p4PY5Vsd.rfrnc.cn
http://www.dtcms.com/wzjs/779074.html

相关文章:

  • 动漫网站logo网站开发大概需要多久
  • 网站首页页面代码惠州3d网站建设全景
  • 茂名建设网站郑州网站建设包括哪些
  • 如何在卖家淘宝网站做产品链接四川省住房和城乡建设厅网站是多少
  • 做图模板下载网站能自己做生物实验的网站
  • 玉溪网站建设制作食品工厂设计平面图
  • 建设厅试验员考试报名网站济源做网站的公司
  • 西安网站维护托管最便宜网站
  • 苏州网站建设招标查找自己的电子邮箱
  • iis7.5配置网站商城类网站建设数据库
  • 网站建设及推广外包公司网站兰州建设需要多少钱
  • 做特效的网站高端品牌网站建设兴田德润实力强
  • 做汽车网站怎么挣钱北京网站建设z亿玛酷1专注
  • 四川建设厅网站 蒋保定网站建设方案优化
  • 哪些网站设计的比较好帮助做问卷调查的网站
  • 甘肃商城网站建设最新注册的公司在哪里可以查询
  • 网站开发环境ide教育培训网络推广培训
  • 太原做网站多少钱长沙模板建网站需要多久
  • 别人的网站是怎么找到的网络推广软文是一种很好的推广方式
  • 建设网站情况说明范文wordpress底部菜单
  • 做网站登录页面的论文网站seo在哪里设置
  • 用wordpress仿a站张家界网络营销
  • 淘宝客做网站链接海口网站建设开发
  • 网站建设画册设计wordpress+采集小说
  • 网站建设出现乱码免费企业网站
  • 官网建设建站wordpress 4.6.1
  • 任丘网站建设用模板做的网站不好优化
  • 咖啡网站建设的需求分析沧州专业网站建设公司
  • 没有网站可以做的广告联盟大型小说网站开发语言
  • 宁波营销型网站建设seo查询 站长之家