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

杭州做代发的网站有哪些青岛网站建设方案优化

杭州做代发的网站有哪些,青岛网站建设方案优化,国家新闻出版署期刊期刊社查询,网页编辑排版相同点 解耦思想 两者都通过接口/抽象类将实现与调用方解耦,降低模块间的直接依赖。 符合开闭原则 新增策略或产品时,只需扩展新类,无需修改已有代码。 封装变化 策略模式封装算法的变化,工厂模式封装对象创建的变化。 不同…
相同点
  1. 解耦思想

    • 两者都通过接口/抽象类将实现与调用方解耦,降低模块间的直接依赖。

  2. 符合开闭原则

    • 新增策略或产品时,只需扩展新类,无需修改已有代码。

  3. 封装变化

    • 策略模式封装算法的变化,工厂模式封装对象创建的变化


不同点
维度策略模式工厂模式
类型行为型设计模式(关注做什么创建型设计模式(关注如何创建
核心目标动态选择算法/行为统一创建对象,隐藏实例化细节
运行时行为允许在运行时切换策略(如支付方式)通常在创建时确定对象类型(如生成Logger)
客户端依赖客户端直接依赖策略接口客户端依赖工厂类和产品接口
典型场景支付方式、排序算法、数据解析策略数据库连接、日志工具、UI组件生成

代码示例对比

场景:支付系统(策略模式 + 工厂模式结合)

java

复制

// ---------------------- 策略模式部分 ----------------------
interface PaymentStrategy {void pay(double amount);
}class AlipayStrategy implements PaymentStrategy {public void pay(double amount) {System.out.println("支付宝支付: " + amount);}
}class WechatPayStrategy implements PaymentStrategy {public void pay(double amount) {System.out.println("微信支付: " + amount);}
}// ---------------------- 工厂模式部分 ----------------------
class PaymentStrategyFactory {public static PaymentStrategy createStrategy(String type) {switch (type.toLowerCase()) {case "alipay": return new AlipayStrategy();case "wechat": return new WechatPayStrategy();default: throw new IllegalArgumentException("不支持的支付类型");}}
}// ---------------------- 上下文类(策略模式) ----------------------
class PaymentContext {private PaymentStrategy strategy;public PaymentContext(PaymentStrategy strategy) {this.strategy = strategy;}public void executePayment(double amount) {strategy.pay(amount);}
}// ---------------------- 客户端使用 ----------------------
public class Client {public static void main(String[] args) {// 工厂模式创建策略对象PaymentStrategy alipay = PaymentStrategyFactory.createStrategy("alipay");PaymentContext context = new PaymentContext(alipay);// 策略模式动态执行支付context.executePayment(100.0);  // 输出: 支付宝支付: 100.0}
}

关键区别总结

  1. 目的不同

    • 策略模式:解决行为的灵活切换问题(如不同支付逻辑)。

    • 工厂模式:解决对象创建的复杂性问题(如不同支付对象的初始化)。

  2. 交互时机

    • 策略模式:客户端通过上下文类主动切换策略(如 setStrategy())。

    • 工厂模式:客户端通过工厂类被动获取对象(如 createStrategy())。

  3. 适用阶段

    • 策略模式:在对象已存在时,动态改变其行为。

    • 工厂模式:在对象创建时决定其类型。


结合使用场景

在实际开发中,策略模式常与工厂模式结合

  1. 用工厂模式创建策略对象(隐藏创建细节)。

  2. 用策略模式管理策略的切换(动态修改行为)。

例如:电商系统中,通过工厂生成不同的促销策略(满减、折扣),再通过策略模式动态切换。

http://www.dtcms.com/wzjs/388397.html

相关文章:

  • 精准客源 获客武汉外包seo公司
  • 2008 iis 添加 网站 权限seo外链发布平台
  • 网站管理怎么做哪个合肥seo好
  • 做情趣网站违法吗北京网站建设公司大全
  • 网站建设技术要求百度电话怎么转人工
  • 绵阳公司网站建设互联网精准营销
  • 做网站教程 第一课某产品网络营销推广方案
  • 那个公司做的外贸网站好steam交易链接怎么获取
  • 做网站让用seo刷新是哪个键seo最新
  • 网站建设行业 前景福州网站排名
  • 网站开发外包维护合同范本网站怎么做优化排名
  • 新乐企业网站建设百度网盘网页版登录入口
  • 自己写代码做网站要什么技术seo优化的价格
  • 找个网站看看广告软文代理平台
  • 本地生活网站建设淘宝热搜关键词排行榜
  • 成都网站制作公司有哪些网络营销顾问是做什么的
  • 做两个网站 之间超链接风云榜小说排行榜
  • 武汉公司 网站建设武汉百度开户代理
  • html个人网站策划书网络口碑营销名词解释
  • 建立网站第一步怎么做企业在线培训系统
  • 襄阳网站制作7月新闻大事件30条
  • 做网站 参考文献搭建一个网站平台需要多少钱
  • 做网站开发学什么软件市场营销推广方案模板
  • jsp网站建设项目实战电销系统软件排名
  • 有没有在线看片资源seo整站怎么优化
  • 手工做衣服的网站免费注册个人网站不花钱
  • 北京b2b网站开发东莞网站建设
  • wordpress站点用户注册西安网站建设制作
  • 微网站如何做微信支付宝支付免费接单平台
  • 淘客自己做网站百度网页版浏览器