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

宁波电商网站建设开发word制作网页教程

宁波电商网站建设开发,word制作网页教程,wordpress分类没有文章,微信小程序平台官网登录策略模式是行为设计模式之一 。 当我们对一个特定任务有多种算法#xff0c;并且客户端决定在运行时使用的实际实现时#xff0c;将使用策略模式。 策略模式也称为策略模式 。 我们定义了多种算法#xff0c;并让客户端应用程序将算法用作参数。 此模式的最佳示例之一是采用… 策略模式是行为设计模式之一 。 当我们对一个特定任务有多种算法并且客户端决定在运行时使用的实际实现时将使用策略模式。 策略模式也称为策略模式 。 我们定义了多种算法并让客户端应用程序将算法用作参数。 此模式的最佳示例之一是采用Comparator参数的Collections.sort()方法。 基于Comparator接口的不同实现将以不同的方式对对象进行排序请查看此文章以使用Java Comparable和Comparator在Java中对对象进行排序。 对于我们的示例我们将尝试实现一个简单的购物车其中我们有两种付款策略-使用信用卡或使用PayPal。 首先我们将为我们的策略创建接口在本例中将支付作为参数传递的金额。 package com.journaldev.design.strategy;public interface PaymentStrategy {public void pay(int amount); } 现在我们将不得不创建使用信用卡/借记卡或通过Paypal付款的算法的具体实现。 package com.journaldev.design.strategy;public class CreditCardStrategy implements PaymentStrategy {private String name;private String cardNumber;private String cvv;private String dateOfExpiry;public CreditCardStrategy(String nm, String ccNum, String cvv, String expiryDate){this.namenm;this.cardNumberccNum;this.cvvcvv;this.dateOfExpiryexpiryDate;}Overridepublic void pay(int amount) {System.out.println(amount paid with credit/debit card);}}package com.journaldev.design.strategy;public class PaypalStrategy implements PaymentStrategy {private String emailId;private String password;public PaypalStrategy(String email, String pwd){this.emailIdemail;this.passwordpwd;}Overridepublic void pay(int amount) {System.out.println(amount paid using Paypal.);}} 现在我们的算法已经准备就绪我们可以实现购物车并且付款方式将需要输入作为付款策略。 package com.journaldev.design.strategy;public class Item {private String upcCode;private int price;public Item(String upc, int cost){this.upcCodeupc;this.pricecost;}public String getUpcCode() {return upcCode;}public int getPrice() {return price;}}package com.journaldev.design.strategy;import java.text.DecimalFormat; import java.util.ArrayList; import java.util.List;public class ShoppingCart {//List of itemsListItem items;public ShoppingCart(){this.itemsnew ArrayListItem();}public void addItem(Item item){this.items.add(item);}public void removeItem(Item item){this.items.remove(item);}public int calculateTotal(){int sum 0;for(Item item : items){sum item.getPrice();}return sum;}public void pay(PaymentStrategy paymentMethod){int amount calculateTotal();paymentMethod.pay(amount);} } 请注意购物车的付款方式需要付款算法作为参数而不是将其存储为实例变量。 让我们用一个简单的程序测试我们的设置。 package com.journaldev.design.strategy;public class ShoppingCartTest {public static void main(String[] args) {ShoppingCart cart new ShoppingCart();Item item1 new Item(1234,10);Item item2 new Item(5678,40);cart.addItem(item1);cart.addItem(item2);//pay by paypalcart.pay(new PaypalStrategy(myemailexample.com, mypwd));//pay by credit cardcart.pay(new CreditCardStrategy(Pankaj Kumar, 1234567890123456, 786, 12/15));}} 上面程序的输出是 50 paid using Paypal. 50 paid with credit/debit card策略模式类图 重要事项 我们本可以使用组合来创建策略的实例变量但应避免这种情况因为我们希望将特定策略应用于特定任务因此在Collections.sort和Arrays.sort方法中也遵循相同的方法将比较器用作论点。 策略模式与状态模式非常相似。 区别之一是Context包含状态作为实例变量并且可以有多个任务的实现可以依赖于状态而在策略模式中strategy作为参数传递给方法并且上下文对象没有任何变量来存储它。 当我们有多个用于特定任务的算法并且希望我们的应用程序灵活地在运行时为特定任务选择任何算法时策略模式很有用。 这就是Java中的Strategy Pattern的全部内容希望您喜欢它。 参考 Java中的策略设计模式 -JCG合作伙伴 Pankaj Kumar在开发人员食谱博客上的示例教程 。 翻译自: https://www.javacodegeeks.com/2013/08/strategy-design-pattern-in-java-example-tutorial.html
http://www.yutouwan.com/news/414310/

相关文章:

  • 外贸品牌网站建设最新实时大数据
  • 中铁韩城建设公司网站建设银行企业网银网站打不开
  • 深圳市推广网站的公司wordpress网标
  • 住房和城乡建设部网站统计杭州家装设计公司排名榜
  • 淄博周村网站建设哪家好企业网站源码去一品资源网
  • 网站开发产品规划要求网站建设项目组织图
  • 如何查一个网站的备案信息北京网站制作公司报价
  • 经营性 网站备案免费公司logo图标
  • 南京协会网站建设成都家居网站建设
  • 网站订单系统模板深圳市南山区做网站的小公司
  • 网站建设SEO优化网络系统分类
  • jsp做的网站怎嘛用北京市住房城乡建设官方网站
  • 前端网站开发工具靖安县城乡规划建设局网站
  • 荣成市建设局网站是什么广东深圳职业技术学院
  • 微信公众号开发网站建设莱芜户型优化培训
  • 株洲网站建设公司成都建站优化公司
  • 长治市建设局网站linux网站服务器配置
  • 外贸公司几个网站做视频网站视频文件都存放在哪
  • 建设网站的视频视频上海网站维护
  • 消防网站建设的风格闵行区怎么读
  • php网站开发工资多少钱百度网站优点
  • 河北网站推广公司招聘58同城找工作
  • 深圳建设工程质量检测中心seo管理系统培训
  • 淘宝客的网站是怎么做的Wordpress分享到微信图标
  • 教育培训类网站建设模板城市建设协会网站
  • 塘沽建设网站公司龙口网站制作
  • 学习php网站建设微信怎么建立小程序
  • 影视网站模板怎么做盐城做网站哪家好
  • 推广优化网站排名网页跳转代码html
  • 快速建设网站方案淘宝网手机网页版