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

fn网站不是做那么好吗搜索关键词排名优化服务

fn网站不是做那么好吗,搜索关键词排名优化服务,大同住房与城乡建设厅网站,如何建设好一个公司网站策略设计模式是一种行为模式#xff0c;其中我们有多种算法/策略来完成一项任务#xff0c;所使用的算法/策略留给客户选择。 各种算法选项封装在单独的类中。 在本教程中#xff0c;我们将学习在Java中实现策略设计模式。 UML表示形式#xff1a; 首先#xff0c;我们来… 策略设计模式是一种行为模式其中我们有多种算法/策略来完成一项任务所使用的算法/策略留给客户选择。 各种算法选项封装在单独的类中。 在本教程中我们将学习在Java中实现策略设计模式。 UML表示形式 首先我们来看一下策略设计模式的UML表示形式 在这里我们有 策略定义我们打算执行的常见操作的界面 ConcreteStrategy这些是使用不同算法来执行Strategy界面中定义的操作的实现类 背景任何需要改变行为并提及策略的事物 JDK中策略模式的一个流行示例是Collections.sort方法中java.util.Comparator的用法。 我们可以将Collections.sort方法视为上下文并将其作为传递对象排序策略的java.util.Comparator实例。 实施策略模式 众所周知任何购物网站都提供多种付款方式。 因此让我们使用此示例来实现策略模式。 我们将首先定义我们的PaymentStrategy接口 public interface PaymentStrategy { void pay(Shopper shopper); } 现在让我们定义两种最常见的付款方式即货到付款和卡付款作为两种具体的策略类 public class CashOnDeliveryStrategy implements PaymentStrategy { Override public void pay(Shopper shopper) { double amount shopper.getShoppingCart().getTotal(); System.out.println(shopper.getName() selected Cash On Delivery for Rs. amount ); } }   public class CardPaymentStrategy implements PaymentStrategy { Override public void pay(Shopper shopper) { CardDetails cardDetails shopper.getCardDetails(); double amount shopper.getShoppingCart().getTotal(); completePayment(cardDetails, amount); System.out.println( Credit/Debit card Payment of Rs. amount made by shopper.getName()); }  private void completePayment(CardDetails cardDetails, double amount) { ... } } 实施上下文 定义了策略类之后现在让我们定义一个PaymentContext类 public class PaymentContext {  private PaymentStrategy strategy;  public PaymentContext(PaymentStratgey strategy) { this .strategy strategy; }  public void makePayment(Shopper shopper) { this .strategy.pay(shopper); } } 同样我们的Shopper类看起来类似于 public class Shopper {  private String name; private CardDetails cardDetails; private ShoppingCart shoppingCart;  //suitable constructor , getters and setters     public void addItemToCart(Item item) { this .shoppingCart.add(item); }  public void payUsingCOD() { PaymentContext pymtContext new PaymentContext( new CashOnDeliveryStrategy()); pymtContext.makePayment( this ); }  public void payUsingCard() { PaymentContext pymtContext new PaymentContext( new CardPaymentStrategy()); pymtContext.makePayment( this ); } } 我们系统中的购物者可以使用一种可用的购买策略进行付款。 在我们的示例中我们的PaymentContext类接受所选的支付策略然后为该策略调用pay方法。 策略与状态设计模式 策略和状态设计模式都是基于接口的模式可能看起来相似但有一些重要区别 状态设计模式定义了各种状态其中策略模式更多地讨论了不同的算法 在状态模式中存在从一种状态到另一种状态的过渡。 另一方面策略模式中的所有策略类都是相互独立的 请随时探索状态设计模式 。 结论 通过此快速教程我们现在知道如何实现策略设计模式。 它是最常用的设计模式之一并遵循“ 打开/关闭”原则 。 因此要添加新策略我们可以简单地创建一个额外的策略类。 但是请注意我们必须在这里更新客户端代码因为客户端选择了要调用的策略。 翻译自: https://www.javacodegeeks.com/2019/09/strategy-design-pattern-java.html
http://www.yutouwan.com/news/343306/

相关文章:

  • 中国建设银行章丘支行网站wordpress 自定义二级菜单
  • 我做网站价格购物网站页面布局
  • 商务网站建设哪家好网站建设应用技术
  • 哪个网站可以找到毕业设计wordpress支持七牛
  • erp网站建设方案网站加外链
  • 学校网站建设问卷调查如何用万网做自己的网站
  • 免费行情网站的推荐理由做公司月刊网站
  • 石家庄自己的网站网站制作软件安卓版
  • 怎么给网站做seo优化长图制作网站
  • 成都网站建设哪里好中山民众网站建设
  • 夏津网站建设电话如何做视频网站
  • 房屋 哪个网站做的最好中国建设银行网站转账
  • 网站续费能自己续费吗vancl凡客诚品官网
  • 广州网站建设哪个平台好深圳市网站建设外包公司排名
  • 陈村网站开发做网站的傻瓜软件
  • 江苏电力建设网站深圳网站建设服务联系方式
  • 路由器做网站wordpress文章相关推荐
  • 怎么把网站开发成crx企业网站设计过程中
  • 沛县专业做网站c 中怎么用html5做网站
  • wordpress全站固定链接hfs网络文件服务器可以做网站
  • 在网站中添加百度地图wordpress公众号涨粉插件
  • 网站代码在哪里看上海传媒公司ceo
  • 哪些企业喜欢做网站广告html5网站正在建设中模板下载
  • 辽宁省建设局网站传统外贸网站的seo运用
  • 传统企业营销型网站建设公司网站不用了如何注销
  • 佛山网站建设价格多少工装效果图网站
  • php网站开发 vip金蝶软件官方报价
  • 中高端网站设计排名南乐网站建设电话
  • wordpress 多站点错误网站策划书 范文
  • 网站建设管理典型经验材料wordpress分类信息