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

做一套vi设计要多少钱昆明seo培训

做一套vi设计要多少钱,昆明seo培训,青岛谷歌seo,域名备案网站服务内容目录 1、核心思想 2、实现方式 2.1 模式结构 2.2 实现案例 3、优缺点分析 4、适用场景 5、优化技巧 1、核心思想 目的:将算法(行为)抽象出来作为一系列策略类,使他们可以相互替换,使系统拥有“可插拔”扩展的能…

目录

1、核心思想

2、实现方式

2.1 模式结构

2.2 实现案例

3、优缺点分析

4、适用场景

5、优化技巧


1、核心思想

目的:将算法(行为)抽象出来作为一系列策略类,使他们可以相互替换,使系统拥有“可插拔”扩展的能力。

举例

1> 游戏卡带:可插卡式的游戏机

2> 计算器:固定是两个输入和一个输出的结构,不同的算法实现类(加、减、乘、除等)

3> 万能的USB口:不同设备捕获数据(如键盘设备捕获的是键盘指令数据,鼠标设备捕获的是坐标与点击指令数据,摄像头设备捕获的是视频流数据)

2、实现方式

2.1 模式结构

三个核心角色:

  •  Strategy(策略接口)​:定义通用的策略规范标准,包含在系统环境中并声明策略接口标准。
  • ConcreteStrategyA、ConcreteStrategyB、ConcreteStrategyC……(策略实现)​:实现了策略接口的策略实现类,可以有多种不同的策略实现,但都得符合策略接口定义的规范。
  • Context(系统环境)​:包含策略接口引用的系统环境,对外提供更换策略实现的方法setStrategy()以及执行策略的方法executeStrategy(),其本身并不关心执行的是哪种策略实现。

2.2 实现案例

举例:电商促销策略

// 策略接口
public interface DiscountStrategy {double applyDiscount(double price);
}// 具体策略:无折扣
public class NoDiscount implements DiscountStrategy {@Overridepublic double applyDiscount(double price) {return price;}
}// 具体策略:8折
public class TwentyPercentOff implements DiscountStrategy {@Overridepublic double applyDiscount(double price) {return price * 0.8;}
}// 具体策略:满300减50
public class FullReduction implements DiscountStrategy {@Overridepublic double applyDiscount(double price) {return price >= 300 ? price - 50 : price;}
}// 上下文类(订单)
public class Order {private DiscountStrategy strategy;public void setStrategy(DiscountStrategy strategy) {this.strategy = strategy;}public double checkout(double price) {return strategy.applyDiscount(price);}
}// 客户端
public class Client {public static void main(String[] args) {Order order = new Order();order.setStrategy(new TwentyPercentOff());System.out.println("最终价格:" + order.checkout(400)); // 输出 320.0}
}

3、优缺点分析

优点:

  • 开闭原则:新增算法时无需修改现有代码,只需添加新策略类。

  • 解耦算法与业务逻辑:算法独立于客户端,易于扩展和维护。

  • 消除条件分支:避免代码中复杂的 if-else 逻辑。

  • 复用性:不同策略可被多个客户端共享使用。

缺点:

  • 类数量增加:每个策略需要一个类,可能导致类膨胀。

  • 客户端需了解策略差异:客户端需要知道不同策略的适用场景。

  • 性能开销:频繁切换策略可能带来对象创建和销毁的开销(可通过享元模式优化)。

4、适用场景

  • 多种算法需要动态切换

    • 例如:支付方式(支付宝、微信、银行卡)、排序算法(快速排序、归并排序)。

  • 需要隐藏算法实现细节

    • 例如:加密算法(AES、RSA)、数据压缩(ZIP、RAR)。

  • 替代复杂的条件分支

    • 例如:电商促销策略(满减、折扣、赠品)。

  • 系统需要灵活扩展新算法

    • 例如:机器学习模型的不同训练策略。

5、优化技巧

策略对象的创建优化

  • 若策略无状态,可复用为单例(如 Collections.sort() 中的 Comparator)。

结合Lambda简化代码

  • 在支持函数式编程的语言(如Java 8+),可用Lambda替代简单策略类。

context.setStrategy(data -> System.out.println("Lambda策略处理:" + data));

策略枚举化

  • 对于有限的策略集合,可使用枚举类实现策略模式。

public enum DiscountType implements DiscountStrategy {NO_DISCOUNT { /* 实现方法 */ },TWENTY_PERCENT { /* 实现方法 */ };
}


文章转载自:

http://a9UILchP.krtky.cn
http://bgPHTZha.krtky.cn
http://TdE66yOq.krtky.cn
http://UKVcVh4B.krtky.cn
http://7Y6PFeDn.krtky.cn
http://ByH9EMzw.krtky.cn
http://txue9fZ0.krtky.cn
http://X4XV7FJv.krtky.cn
http://CevjFCof.krtky.cn
http://Y2pVcLTn.krtky.cn
http://UtuQoEgU.krtky.cn
http://IhoGVB90.krtky.cn
http://bwBRTufU.krtky.cn
http://PZrRstuS.krtky.cn
http://L5OavcMY.krtky.cn
http://qE0rGYSr.krtky.cn
http://GpYRYAFx.krtky.cn
http://Pi0EjgUx.krtky.cn
http://Ix4QAVIp.krtky.cn
http://VNKFIGWk.krtky.cn
http://jLPLyGU4.krtky.cn
http://yErqmo5C.krtky.cn
http://JEN7pgfO.krtky.cn
http://76CiUNy5.krtky.cn
http://HKX7TqDS.krtky.cn
http://vHauOel5.krtky.cn
http://Bg0zcleR.krtky.cn
http://KItEfd5m.krtky.cn
http://b0UbHMJJ.krtky.cn
http://UaRoS8bh.krtky.cn
http://www.dtcms.com/wzjs/731939.html

相关文章:

  • 专业建站网站服务wordpress前台注册登入
  • 深圳网站建设外包公司哪家好蜗牛家装网
  • seo站长工具如何创办一家自己的公司
  • 做电商网站的感想cydia软件源网站开发
  • cdr做网站怎么导出pc网站设计哪家公司好
  • 河北邢台做wap网站门窗营销型网站
  • 网站建设解决问题现在学seo课程多少钱
  • 网站制作方案答案是螃蟹的迷语 百度一下
  • 外贸营销型网站建设公司东莞找工作在什么平台找合适
  • 网站推广活动策划美工常用找素材网站
  • 哪个企业的网站做的比较好frontpage做网站教程
  • 京东联盟需要自己做网站吗精美合同网站建设
  • 佛山免费建站公司常用来做网站的首页
  • 楚雄网站建设公司江苏泰州网站建设
  • 聊城建网站服务网站服务器排行榜
  • 合肥网站制作软件西安企业网站建设多少钱
  • 即刻搜索网站提交入口铁岭市做网站
  • 智慧团建登录入口官方网站wordpress美图
  • 手机搭建网站工具织梦dedecms导航网站源码
  • 五金机械设备网站模板建设做h5网站
  • 东莞做网站seo招标网站建设申请报告
  • 俱乐部网站模板wordpress登录密码忘了怎么办
  • 厦门网站排名dedecms 调用 两个网站
  • 淘宝网站代理怎么做房地产网站大全
  • 贵溪市城乡建设局网站微信开发文档小程序
  • 简约个人网站服装网页怎么制作
  • 有免费的网站域名吗学网站开发和游戏开发那个
  • 富阳网站建设保亭网站建设
  • 申请域名后可以做自己的网站吗网站开发 犯法
  • 香奈儿网站建设策划书建设留学网站