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

做英文网站的公司商业网点和商铺的区别

做英文网站的公司,商业网点和商铺的区别,网站设计师是什么部门,新乡发布最新通告策略模式#xff08;Strategy Pattern#xff09;是一种行为型设计模式#xff0c;它定义了一系列算法#xff0c;并将每个算法封装起来#xff0c;使它们可以互相替换。策略模式让算法的变化不会影响使用算法的客户端#xff0c;使得算法可以独立于客户端的变化而变化。…策略模式Strategy Pattern是一种行为型设计模式它定义了一系列算法并将每个算法封装起来使它们可以互相替换。策略模式让算法的变化不会影响使用算法的客户端使得算法可以独立于客户端的变化而变化。 策略模式的结构 策略模式主要包含以下角色 策略接口Strategy定义算法的接口。具体策略类Concrete Strategy实现策略接口的具体算法。上下文类Context使用策略对象的上下文维护对策略对象的引用并在需要时调用策略对象的方法。 示例 假设我们要设计一个计算不同类型折扣的系统。我们可以使用策略模式来实现这一功能。 定义策略接口 from abc import ABC, abstractmethodclass DiscountStrategy(ABC):abstractmethoddef apply_discount(self, price: float) - float:pass实现具体策略类 class NoDiscount(DiscountStrategy):def apply_discount(self, price: float) - float:return priceclass PercentageDiscount(DiscountStrategy):def __init__(self, percentage: float):self.percentage percentagedef apply_discount(self, price: float) - float:return price * (1 - self.percentage / 100)class FixedAmountDiscount(DiscountStrategy):def __init__(self, amount: float):self.amount amountdef apply_discount(self, price: float) - float:return max(0, price - self.amount)定义上下文类 class PriceCalculator:def __init__(self, strategy: DiscountStrategy):self.strategy strategydef calculate_price(self, price: float) - float:return self.strategy.apply_discount(price)使用策略模式 def main():original_price 100.0no_discount NoDiscount()ten_percent_discount PercentageDiscount(10)five_dollar_discount FixedAmountDiscount(5)calculator PriceCalculator(no_discount)print(fOriginal price: ${original_price}, No discount: ${calculator.calculate_price(original_price)})calculator.strategy ten_percent_discountprint(fOriginal price: ${original_price}, 10% discount: ${calculator.calculate_price(original_price)})calculator.strategy five_dollar_discountprint(fOriginal price: ${original_price}, $5 discount: ${calculator.calculate_price(original_price)})if __name__ __main__:main()策略模式的优缺点 优点 开闭原则可以在不修改上下文类的情况下引入新的策略实现算法的独立变化。消除条件语句通过使用策略模式可以避免在上下文类中使用大量的条件语句。提高代码复用性不同的策略类可以复用相同的算法接口提高代码的复用性和可维护性。 缺点 增加类的数量每个策略都是一个单独的类可能会增加类的数量导致代码复杂度增加。策略切换的开销在运行时切换策略可能会带来一些性能开销。 策略模式的适用场景 算法需要在运行时选择当一个系统需要在运行时从多个算法中选择一个时可以使用策略模式。避免条件语句当一个类中包含大量与算法选择相关的条件语句时可以使用策略模式消除这些条件语句。需要重用算法当多个类需要复用相同的算法时可以将这些算法提取到独立的策略类中通过策略模式进行重用。 总结 策略模式是一种行为型设计模式通过定义一系列算法并将每个算法封装起来使它们可以互相替换从而实现算法的独立变化和复用。策略模式可以提高代码的灵活性和可维护性适用于算法需要在运行时选择或消除条件语句的场景。合理使用策略模式可以显著提高代码的质量和设计水平。
http://www.hkea.cn/news/14526393/

相关文章:

  • 溧阳城乡建设局网站如何建造一个网站
  • 做网站页面遇到的问题网站开发前端和后端用什么语言
  • 淘宝客怎么做直播网站吗西安网站开发公司价格
  • 华亚快印网站开发建设学校网站的作用
  • 做外国网站百度搜到企业网站seo优
  • 哪有那样的网站苏州 网站设计 知名
  • 四川泸州做网站的公司十堰秦楚网官网
  • 哪些网站可以做爬虫实验程序员自学网站
  • 怎么让网站被百度搜到wordpress激活邮件
  • 中建股份有限公司官网郑州粒米seo顾问
  • 广州门户网站建设设计制作小车二教学视频
  • 中国平安保险公司官网首页seo外链怎么做能看到效果
  • 国家建设标准发布网站在哪里泉州专业网站建设公司哪家好
  • 免费网站入口2021阿里巴巴采购网
  • 有建设网站的软件吗wordpress 禁用一切更新 提示
  • 下载 asp网站视觉传达工资一般多少
  • 如何查看网站服务器系统网上购物商城开发
  • 去哪里学习建设网站做深度游网站 知乎
  • 番禺建设网站平台做美食网站的需求分析
  • 国外做机器人的网站推荐企业手机网站建设
  • 做网站需要的语言电影网站的建设
  • 网站建设企业模板个人网页首页内容
  • 临沂网站建设厂家婚恋网站翻译可以做吗
  • 网站代码查询云南疾控最新消息今天
  • 曹县 做网站的公司搭建 wordpress 简书
  • 青浦区网站建设费用襄阳购物网站开发设计
  • 低价网站建设顺德学风建设专题网站
  • 做淘宝还有必要做网站吗小程序公司排名前十
  • 想注册一个设计网站吗wordpress微信分享才能查看
  • 展馆网站建设方案常州网站建设公司平台