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

邳州网站设计价格wordpress ueditor 百度编辑器

邳州网站设计价格,wordpress ueditor 百度编辑器,事业单位网站建设方案,网站建设边框typescript中的策略模式 当我们需要以整洁、易于维护和易于调试的方式构建应用程序时#xff0c;使用设计模式是一种非常好的方式。 在本文中#xff0c;我们的目标是阐明如何将策略模式无缝地集成到我们的应用程序中。如果我们熟悉依赖性注入#xff0c;可能会发现策略模…typescript中的策略模式 当我们需要以整洁、易于维护和易于调试的方式构建应用程序时使用设计模式是一种非常好的方式。 在本文中我们的目标是阐明如何将策略模式无缝地集成到我们的应用程序中。如果我们熟悉依赖性注入可能会发现策略模式的操作原理与其有些相似尽管它有自己独特的用例。 到本文结束时我们应该能够掌握了策略模式背后的基本概念。 让我们通过建立一个定义来深入研究策略模式究竟是什么? 策略模式 策略模式是一种设计模式它使我们能够在运行时切换算法或策略而不改变使用它们的代码。从本质上讲它涉及定义一系列算法封装每个算法并使它们可以互换。这带来了灵活性通过将行为( 算法 / 策略 )与使用它的上下文( 类 )分离实现了更整洁、解耦的代码。 一个现实的例子 想象一下我们正在旅行需要导航到不同的地方。我们的手机就像一个使用策略模式的应用程序。导航应用程序是工具箱不同的交通方式如驾驶、步行或骑自行车就是策略。根据我们的需要可以很容易地在这些模式之间切换而不改变导航应用程序本身。同样这种策略模式可以让我们的代码轻松地在不同的算法或行为之间切换。 代码示例 现在让我们用 typescript 实现一个付款系统。想象一下我们正在建立一个在线商店它支持微信、支付宝等不同的支付方式。使用这种策略模式我们可以很容易地在这些支付方法之间转换。这种策略模式非常适合这种情况。 首先定义一个表示支付策略的接口 interface PaymentStrategy {processPayment(amount: number): void; }现在实现具体的策略 class WeiXinStrategy implements PaymentStrategy {processPayment(amount: number): void {console.log(Paid ${amount} using WeiXin.);} }class ZhiFuBaoStrategy implements PaymentStrategy {processPayment(amount: number): void {console.log(Paid ${amount} using ZhiFuBao.);} }class CreditCardStrategy implements PaymentStrategy {processPayment(amount: number): void {console.log(Paid ${amount} using CreditCard.);} }创建一个上下文类在线存储以使用这些支付策略: class OnlineStore {private paymentStrategy: PaymentStrategy;constructor(paymentStrategy: PaymentStrategy) {this.paymentStrategy paymentStrategy;}checkout(amount: number): void {this.paymentStrategy.processPayment(amount);} }最后让我们看看使用不同方法付款的策略模式 const weixin new WeiXinStrategy(); const storeWithPayPal new OnlineStore(paypal); storeWithPayPal.checkout(100); // Paid 100 using WeiXin.const creditCard new CreditCardStrategy(); const storeWithCreditCard new OnlineStore(creditCard); storeWithCreditCard.checkout(200); // Outputs: Paid 200 using CreditCard.const zhifubao new ZhiFuBaoStrategy(); const storeWithBitcoin new OnlineStore(bitcoin); storeWithBitcoin.checkout(300); // Outputs: Paid 300 using ZhiFuBao.就像改变导航模式一样在这里我们可以轻松地交换支付选项而不需要修改在线存储类本身。 使付款系统形象化 在我们结束之前让我们用绘图来想象支付的例子。 在下面的插图中,我们将观察右侧的 Payment 接口。这一接口发挥了至关重要的作用要求 processPayment方法由不同的支付策略选项实施。在我们的例子中的 weixin 、zhifubao、creditcard 是实现这一接口的具体策略因此每个都需要定义 processPayment 方法的工作原理。 图的左边是 OnlineStore它使用这些支付策略而不了解其内部运作。这种封装是策略模式的优点之一–无论支付选择如何对在线商店来说最终的支付流程都是一样的。之所以能保持这种一致性是因为所有付款策略都遵守 PaymentStrategy 接口所定义的方法。 总结 我们引入了不同的支付选项使它们可以轻松地切换而不必担心所有支付策略之间的兼容性。该接口确保所有支付方法坚持一个共同的定义保证平稳的集成。 理解和实现策略模式可以极大地提高代码的适应性和可维护性特别是在行为或算法可能改变或扩展的情况下。
http://www.hkea.cn/news/14400600/

相关文章:

  • 焦作建设银行门户网站安塞网站建设
  • 网站和二级目录权重做分享衣服网站的初衷是什么
  • 通化网站制作中国做的最好的网站有哪些
  • 网站建站的步骤1688网站可以做全屏吗
  • x网站免费模板用群晖如何做公司网站
  • 郑州网站建设更好wordpress重新打开多站点
  • godaddy做网站网站内容策略
  • 网站建设广告管理秦皇岛市第一医院
  • 苏州教育学会网站建设青岛seo网站排名优化
  • 搞钱的路子网站做物流用哪个网站好
  • 站长之家权重深圳网站制作必选祥奔科技
  • 企业网站备案需要工作室网站建设的意义
  • 做asp网站需要的实验报告单天津市工程造价信息网
  • 找做网站的人英文旅游网站建设
  • 网站建设设计主要系统多余菜单删掉wordpress
  • 行业网站推广外包淘宝客网站模板免费下载
  • 佛山建设外贸网站公司seo网站的优化方案
  • wordpress 禁止注册网站seo关键词优化排名
  • 知名网站开发多少钱怎样去推广自己的网店
  • 成都网站建设学习吉祥物在线设计网站
  • 郑州网站建设 华数主题网站建设平台
  • 科普网站建设织梦dede网站后台被挂黑链怎么办
  • dedecms手机版重庆网站建设优化
  • 河北省建设工程招标投标网站成都网站建设报价表
  • 卖文具的网站建设网站风格什么意思
  • 网站推广问题淘宝上做网站排名
  • 手机微网站怎么做的高端网站设计公司有
  • 山东网站建设app有没有做书签的网站
  • 兰州新区规划建设管理局网站网站设计学校
  • 泉州建网站网站建设找工作