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

自己做网站接入微信和支付宝网页浏览器网址

自己做网站接入微信和支付宝,网页浏览器网址,软件开发工具有哪些基本功能,网站seo如何优化策略模式 策略模式对应与解决某一个问题的一个算法族,允许用户从该算法族中任选一个算法解决某一问题,同时可以方便的更换算法或者增加新的算法。并且由客户端决定调用哪个算法。 本质 分离算法,选择实现; 策略模式角色 上下…

策略模式

  • 策略模式对应与解决某一个问题的一个算法族,允许用户从该算法族中任选一个算法解决某一问题,同时可以方便的更换算法或者增加新的算法。并且由客户端决定调用哪个算法。

本质

  • 分离算法,选择实现;

策略模式角色

  • 上下文类(Context): 维护了一个策略类的引用,并将客户端的请求委托给具体策略类处理;
  • 抽象策略类(Strategy): 定义了具体的算法方法;
  • 具体策略类(ConcreteStrategy): 对抽象策略类的算法具体实现;

开发中常见的场景

  • spring框架中,Resource接口,资源访问策略;
  • springmvc框架中,controller方法入参解析
  • shiro框架中,权限的认证策略;

场景

  • 某个市场人员接到单后的报价策略(CRM系统中常见问题)。报价策略很复杂,可以简单作如下分类:
    • 普通客户小批量报价
    • 普通客户大批量报价
    • 老客户小排量报价
    • 老客户大批量报价
  • 具体选用哪个报价策略,这需要根据实际情况来确定。这时候,我们采用策略模式即可。

代码实现

  • 抽象策略类(Strategy)
/*** 抽象算法 接口*/
public interface  Strategy {double getPrice(double standardPrice);
}
  • 具体策略类(ConcreteStrategy)
/*** 新客户小批量*/
public class NewCustomerFewStrategy implements Strategy{@Overridepublic double getPrice(double standardPrice) {System.out.println("不好意思,不打折,原件");return standardPrice;}	
}
/*** 新客户大批量*/
public class newCustomermanyStrategy implements Strategy{@Overridepublic double getPrice(double standardPrice) {System.out.println("九折");return standardPrice*0.9;}	
}
/*** 老客户小批量*/
public class OldCustomerFewStrategy implements Strategy{@Overridepublic double getPrice(double standardPrice) {System.out.println("八五折");return standardPrice*0.85;}	
}
/*** 老客户大批量*/
public class OldCustomermanyStrategy implements Strategy{@Overridepublic double getPrice(double standardPrice) {System.out.println("七折");		return standardPrice*0.7;	}	
}
  • 上下文类(Context)
/*** 负责和具体的策略类交互* 这样的话,具体的算法和直接的客户端调用分离了,使得算法可以独立于客户端独立的变化*/
public class Context {private Strategy strategy;public Context(Strategy strategy) {this.strategy = strategy;}public void setStrategy(Strategy strategy) {this.strategy = strategy;}public void PrintPrice(double s){System.out.println("你该报价:"+strategy.getPrice(s));}	
}
  • 客户端调用
public static void main(String[] args) {Strategy st=new OldCustomermanyStrategy();Context ct=new Context(st);ct.PrintPrice(999);
}



更多设计模式学习:

          设计模式(1):介绍
          设计模式(2):单例模式
          设计模式(3):工厂模式
          设计模式(4):建造者模式
          设计模式(5):原型模式
          设计模式(6):桥接模式
          设计模式(7):装饰器模式
          设计模式(8):组合模式
          设计模式(9):外观模式
          设计模式(10):享元模式
          设计模式(11):适配器模式
          设计模式(12):代理模式
          设计模式(13):模板方法模式
          设计模式(14):命令模式
          设计模式(15):迭代器模式
          设计模式(16):观察者模式
          设计模式(17):中介者模式
          设计模式(18):状态模式
          设计模式持续更新中…

http://www.yayakq.cn/news/548917/

相关文章:

  • 家里公网宽带做网站要备案么免费下载app软件正版
  • 做外贸自己的公司网站创建一个网站
  • 在家百度统计网站打不开协会宣传网站开发方案
  • 免费网站模版下载wordpress主页设置错误
  • 购物网站首页分成几个模块梅县区住房和城乡规划建设局官方网站
  • 杭州制造业企业做网站建立公司需要多少资金
  • 哈尔滨市建设网站企业管理论文
  • 网站建设方案的所属行业是网站开发费属于研发费用吗
  • 网站开发提案模板东莞网站关键词优化排名
  • 电子商务网站设计的三大原则是wordpress 后台不显示
  • 潍坊云建站模板杭州煜灿网络科技有限公司网站开发
  • 曲靖做网站需要多少钱南通市建设工程安全监督站网站
  • WordPress主题站湖北省建设工程质量安全监督网站
  • 做一手楼房的网站如何打死网站
  • 网站建设对公司有什么好处什么是市场营销
  • 网站做的app有哪些北京网页设计师工资有多少
  • 邢台做网站动态网站建设与管理专业题目
  • 网站建设有哪些推广渠道江西seo推广
  • 如何建立小程序网站给人做ppt的网站吗
  • 手机上自己做网站网站建设合同 法律声明
  • 建设一个网站的工作方案南京电器网站建设
  • 灯饰模板网站网站建设密码
  • 杭州市萧山区市场建设开发网站怎么用群晖做网站
  • 做食品网站需要什么资质wordpress 新建页面 超链接
  • 响应式网站高度如何计算做网站有地区差异吗
  • 如何看那个网站是那个公司做的如何选择坪山网站建设
  • wordpress安装到网站中国建设官网下载
  • 备案号 查询 网站南京外贸网站建设报价
  • 购物网站建设策划wordpress网站聊天插件
  • 国外的自建网站怎么做360度实景地图下载