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

深圳建站公司告诉你十个建站步骤注册资金100万的公司要多少钱

深圳建站公司告诉你十个建站步骤,注册资金100万的公司要多少钱,今天重庆重大新闻,人力资源公司简介它允许在运行时根据需要选择算法的行为。该模式通过将算法封装成独立的类#xff0c;使得它们可以相互替换#xff0c;而不影响使用算法的客户端代码。 策略模式主要包含以下角色#xff1a; 环境#xff08;Context#xff09;#xff1a;环境对象持有一个策略对象的引…它允许在运行时根据需要选择算法的行为。该模式通过将算法封装成独立的类使得它们可以相互替换而不影响使用算法的客户端代码。 策略模式主要包含以下角色 环境Context环境对象持有一个策略对象的引用它提供了一个接口用于执行具体的算法。抽象策略Strategy定义了策略类的统一接口用于约束具体策略类的行为。具体策略Concrete Strategy实现了抽象策略定义的接口具体实现算法逻辑。 下面以一个简单的支付系统为例来说明策略模式的应用 // 抽象策略类 public interface PaymentStrategy {void pay(double amount); }// 具体策略类 public class AliPayStrategy implements PaymentStrategy {public void pay(double amount) {System.out.println(使用支付宝支付 amount 元);// 具体的支付逻辑} }public class WeChatPayStrategy implements PaymentStrategy {public void pay(double amount) {System.out.println(使用微信支付 amount 元);// 具体的支付逻辑} }// 环境类 Data NoArgsConstructor public class PaymentContext {private PaymentStrategy strategy;public void pay(double amount) {strategy.pay(amount);} }在上述示例中我们定义了一个抽象策略类PaymentStrategy并有两个具体的策略类AliPayStrategy和WeChatPayStrategy分别实现了支付宝支付和微信支付的具体逻辑。 环境类PaymentContext持有一个策略对象的引用并提供了设置策略和支付方法。客户端通过设置不同的策略对象来实现不同的支付方式。这样客户端代码与具体的支付算法解耦可以动态地在运行时切换支付策略。 下面是使用策略模式实现的客户端代码 javaCopy Codepublic class Client {public static void main(String[] args) {PaymentContext context new PaymentContext();// 使用支付宝支付PaymentStrategy aliPayStrategy new AliPayStrategy();context.setPaymentStrategy(aliPayStrategy);context.pay(100.0);// 使用微信支付PaymentStrategy weChatPayStrategy new WeChatPayStrategy();context.setPaymentStrategy(weChatPayStrategy);context.pay(200.0);} }运行上述客户端代码输出如下 Copy Code 使用支付宝支付100.0 元 使用微信支付200.0 元 通过策略模式我们可以轻松地在运行时切换不同的支付方式而不需要改动客户端代码。策略模式将算法的选择和使用进行了解耦提高了代码的灵活性和可维护性。同时策略模式也符合开闭原则当需要新增一种支付方式时只需要添加新的具体策略类即可无需修改原有代码逻辑。 public class Client {public static void main(String[] args) {double price 100.0;String type normal;double discount 1.0;// 根据商品类型设置折扣率if (type.equals(vip)) {discount 0.9;} else if (type.equals(member)) {discount 0.95;} else if (type.equals(promotion)) {discount 0.8;}double actualPrice price * discount;System.out.println(商品的实际价格为 actualPrice);} }上述代码中我们根据商品类型手动设置相应的折扣率然后计算实际价格。这样的代码虽然简单但存在以下问题 客户端代码与具体的折扣算法高度耦合如果需要更改算法例如新增一种商品类型就需要修改客户端代码这会导致代码的可维护性变差。没有遵循开闭原则当需要新增一种商品类型时就需要修改原有代码逻辑这样会影响到其他代码的稳定性。 因此采用策略模式能更好地解决这些问题实现代码的松耦合和可维护性。 public class CeLue {public static void main(String[] args) {double price 100.0;String type vip;PayStrategy conType getPayStrategy(type);PayContext payContext new PayContext(conType);payContext.pay(price);}private static PayStrategy getPayStrategy(String type) {switch (type) {case vip:return new VipType();default:return new NormalType();}} }interface PayStrategy {void pay(double amount); }class NormalType implements PayStrategy {Overridepublic void pay(double amount) {System.out.println(普通支付 amount 元);} }class VipType implements PayStrategy {Overridepublic void pay(double amount) {System.out.println(vip支付 amount * 0.9 元);} }class PayContext {private PayStrategy payStrategy;public PayContext(PayStrategy payStrategy) {this.payStrategy payStrategy;}public void pay(double amount) {payStrategy.pay(amount);}}
http://www.hkea.cn/news/14477603/

相关文章:

  • 江津做网站做网站的都改行做什么了
  • 比较好的外贸网站一个服务器可以备案几个网站
  • 冠县做网站哪里好wordpress主机空间选择
  • 网站付费模板淘宝指数查询入口
  • 汕尾营销网站建设wordpress 编辑图片
  • wordpress 提高速度系统优化软件推荐
  • 做网站设计挣钱吗株洲网红
  • 体育网站建设规划天水头条最新消息今天
  • wordpress 站库分离个人如何制作网站
  • 宿州产品网站建设wordpress页脚二维码
  • 宿州网站公司需要大量做网站做推广的行业
  • 长春火车站高清图片北京建工招标平台
  • 网站设计网站设计网站设计电子商务网站建设方案推荐
  • 建设公司网站的请示影视自助建站
  • 安徽住房和城乡建设厅注册网站html5手机网站案例
  • 用易语言做攻击网站软件建设网站的特色
  • 美丽阿坝网站怎么做垦利县企业型网站建设
  • 网站建设方维做电影网站怎么降低内存
  • 网站搭建策划书网站地图生成代码
  • 网上做结婚照的网站青浦区做网站
  • 怎么做网站步骤免费的网站浏览速度
  • 商务网站建设中的必备功能平面设计是干什么的工资一般多少
  • 权威发布封面已矣seo排名点击软件
  • 紫金网站建设公司网站出现死链怎么办
  • 马云的网站是谁建设的wordpress开发cms
  • 做淘宝一样的网站有哪些阿里云 多域名解析 到不同的网站
  • 永城网站建设化妆品营销型网站
  • 网站图片大小优化公众号怎么制作合集
  • 网站建设实训网站建设基本流程图片
  • 做宣传类网站需要什么资质在线设计响应式网站