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

微网站教程网站开发程序哪个好

微网站教程,网站开发程序哪个好,网站开发招聘年薪,网站营销推广的公司策略模式 参考#xff1a; CSDN | 策略模式百家号 | 策略模式 如果某个系统需要不同的算法#xff08;如超市收银的优惠算法#xff09;#xff0c;那么可以把这些算法独立出来#xff0c;使之之间可以相互替换#xff0c;这种模式叫做策略模式#xff0c;它同样具有三个…策略模式 参考 CSDN | 策略模式百家号 | 策略模式 如果某个系统需要不同的算法如超市收银的优惠算法那么可以把这些算法独立出来使之之间可以相互替换这种模式叫做策略模式它同样具有三个角色 环境角色使用策略的类抽象策略角色策略共有的抽象类或接口具体策略角色具体的策略的实现 策略模式的优缺点 优点 需要新的算法时只需要拓展策略而不需要修改原有代码符合开闭原则。避免出现过多判断分支提高代码可读性。算法间可方便的进行继承替换。 缺点 客户端必须熟悉所有算法并自行决定使用哪个策略策略模式将造成产生很多策略类可以通过使用享元模式在一定程度上减少对象的数量。 适用场景 一个系统中有很多类这些类之间只有行为表现不同时可以使用策略模式策略模式在实例化策略时可以配合使用简单工厂。 例 比如一个收银系统结算时有不同的优惠策略如 九折 五折满100减10等这些不同的优惠策略便是”具体策略角色“而收银系统就是 ”环境角色“还需要定义一个 ”抽象策略角色“ package pers.junebao.strategy_mode.discount;// 抽象策略角色 public interface BaseDiscountStrategy {double preferentialAlgorithm(double money); } package pers.junebao.strategy_mode.discount;// 折扣优惠(具体策略角色) public class Discount implements BaseDiscountStrategy {private double discount;public Discount(double discount) {// Discount(double discount) {if(discount 1)discount 1;else if(discount 0)discount 0.1;this.discount discount;}Overridepublic double preferentialAlgorithm(double money) {return money * this.discount;} } package pers.junebao.strategy_mode.discount;// 满减优惠(具体策略角色) public class FullReduction implements BaseDiscountStrategy {private double discountPrice; //优惠金额private double baseline; // 满减条件FullReduction(double baseline, double price) {this.baseline baseline;this.discountPrice price;}Overridepublic double preferentialAlgorithm(double money) {if(money this.baseline)money - this.discountPrice;return money;} } 这样环境角色就可以自己决定使用哪种策略而不用修改代码了 package pers.junebao.strategy_mode;import pers.junebao.strategy_mode.discount.BaseDiscountStrategy; import pers.junebao.strategy_mode.discount.Discount;public class CashRegisterSystem {public static void main(String[] args) {BaseDiscountStrategy ds new Discount(0.9);double purchasingPrice 1500;double amountsPayable ds.preferentialAlgorithm(purchasingPrice);System.out.println(amountsPayable);} }对于这些具体策略可以使用简单工厂进一步屏蔽策略的具体细节 package pers.junebao.strategy_mode.discount;public class StrategyFactory {public static BaseDiscountStrategy getDiscountStrategy(String name) {BaseDiscountStrategy result null;switch (name){case 九折:{result new Discount(0.9);break;}case 五折: {result new Discount(0.5);break;}case 满100减10: {result new FullReduction(100, 10);break;}case 满1000减200: {result new FullReduction(1000, 200);break;}default:result new OriginalPrice();}return result;} } BaseDiscountStrategy ds StrategyFactory.getDiscountStrategy(满1000减200);GitHub | 完整代码
http://www.pierceye.com/news/730624/

相关文章:

  • dede网站源码打包下载wordpress登不进后台
  • 建设内部网站目的国内贸易在那个网站上做
  • 用什么建设网站注册深圳公司代理
  • 网站平台建设方案书百度云资源搜索入口
  • 网站 团队博罗网站建设哪家便宜
  • wordpress列表分页枣庄seo外包
  • 知了网站后台推广形式有哪几种
  • 成品图片的网站在哪里找wordpress开启防盗链
  • 伊滨区网站建设网站建设经理
  • 权威的郑州网站建设域名租用平台
  • 造价工程师网网站点击排名优化
  • 网站关键词搜索海口网站建设优化公司
  • WordPress建影视站免费的素材网站有哪些
  • 屯留做网站哪里好阿里云服务器618
  • 网站怎么做登录模块免费的编程软件下载
  • 网站建设与管理的策划书网站建设五合一
  • 网站建设管理分工公司招聘网站有哪些
  • 分类信息网站手机版上海网站关键词优化方法
  • 建设个人网站的参考网站及文献怎么做水果网站
  • 台山住房和城乡建设 网站有赞分销
  • 网站备案 历史wordpress货币插件
  • 如何做自助搜券网站佛山顺德专业做网站
  • 义乌网站制作多少钱工会网站建设
  • 六安高端网站建设公司开网店的流程步骤
  • 网站被墙301怎么做展馆展厅设计效果图
  • 唐山市城市建设规划局网站大兴做网站公司
  • 陕西做网站的公司地址克拉玛依市住房和建设局网站
  • 做电影网站 广告收入怎么知道网站被k
  • 开发企业网站费用深圳宝安seo
  • 算命公司网站建设制作开发方案教育培训机构招生网站建设