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

建设网站的法律声明免费发seo外链平台

建设网站的法律声明,免费发seo外链平台,优化师和运营区别,wordpress快速翻译介绍 责任链模式是一种行为型设计模式,它允许多个对象以链式的形式依次处理请求,直到请求被处理或者无处理对象为止 实现方式 责任链模式由多个处理器组成,每个处理器都可以处理一种请求。如果当前处理器无法处理请求,它将把请…

介绍

责任链模式是一种行为型设计模式,它允许多个对象以链式的形式依次处理请求,直到请求被处理或者无处理对象为止

实现方式

责任链模式由多个处理器组成,每个处理器都可以处理一种请求。如果当前处理器无法处理请求,它将把请求传递给下一个处理器,直到请求被处理或者没有处理器可以处理为止。

案例

假设我们正在开发一个电子商务平台,现在需要实现一个购物车功能。当用户添加商品到购物车中时,需要进行以下验证

  • 商品是否存在
  • 商品库存是否充足
  • 商品是否已经下架

我们可以使用责任链模式来实现这个购物车功能。首先定义一个处理器基类

class CartValidator:def __init__(self, next_validator=None):self.next_validator = next_validatordef validate(self, item):if self.next_validator:return self.next_validator.validate(item)return True

这个基类包含了一个next_validator属性,表示后继处理器,以及一个validate方法,用于验证商品是否合法。如果存在后继处理器,则将验证请求传递给后继处理器。

接下来,我们可以定义三个具体的验证处理器,分别验证商品是否存在、商品库存是否充足以及商品是否已经下架

# 模拟
is_product_exist = True  # 判断商品是否存在
is_product_stock_enough = True  # 判断商品库存是否充足
is_product_on_sale = True  # 判断商品是否已经下架class ProductExistValidator(CartValidator):def validate(self, item):# 判断商品是否存在# if not is_product_exist(item):if not is_product_exist:print('商品不存在')return Falsereturn super().validate(item)class ProductStockValidator(CartValidator):def validate(self, item):# 判断商品库存是否充足# if not is_product_stock_enough(item):if not is_product_stock_enough:print('库存不足')return Falsereturn super().validate(item)class ProductStatusValidator(CartValidator):def validate(self, item):# 判断商品是否已经下架# if not is_product_on_sale(item):if not is_product_on_sale:print('商品已下架')return Falsereturn super().validate(item)product_validator_chain = ProductExistValidator(ProductStockValidator(ProductStatusValidator()))def add_to_cart(item):if product_validator_chain.validate(item):# 添加商品到购物车中# add_item_to_cart(item)print("添加成功", item)passelse:# 商品验证失败print("商品验证失败")

这三个处理器都继承自CartValidator类,并覆盖了validate方法,实现了具体的商品验证逻辑。如果商品验证通过,则调用super()
.validate(item)方法,将验证请求传递给下一个处理器。

最后,我们可以将这三个处理器组成一个责任链:

product_validator_chain = ProductExistValidator(ProductStockValidator(ProductStatusValidator()))

测试
正常测试

add_to_cart("IPhone14 pro")

输出结果

添加成功 IPhone14 pro

库存不足测试

# 模拟库存不足
is_product_stock_enough = False
add_to_cart("IPhone14 pro")

输出结果

库存不足
商品验证失败

使用场景

多个对象需要处理同一种请求,但处理的顺序和方式不同。例如,一个在线商店需要对订单进行风险评估,评估过程包括多个步骤,如检查订单是否来自欺诈用户、检查收货地址是否存在风险等。每个步骤可以使用一个处理器来处理,这些处理器可以组成一个责任链,对订单进行逐步风险评估。

对象不知道该由哪个处理器处理请求,需要动态确定处理器。java中的web框架的过滤器,需要根据请求的URL来选择合适的处理器,处理器可以根据自身能力来决定是否能够处理请求。

动态扩展。在系统中需要动态添加或删除处理器,同时保证请求可以被正确处理。例如,一个安全检查系统需要根据系统的安全策略来动态添加或删除安全检查处理器,同时保证请求可以被正确处理。

以上就是对责任链模式的介绍,后面还会介绍更多的设计模式。


欢迎关注,学习不迷路!


文章转载自:
http://dinncosilently.wbqt.cn
http://dinncomiscegenation.wbqt.cn
http://dinncogobbledygook.wbqt.cn
http://dinncosubsere.wbqt.cn
http://dinncofleetful.wbqt.cn
http://dinncoquinquefarious.wbqt.cn
http://dinncophilip.wbqt.cn
http://dinncocopulatory.wbqt.cn
http://dinncoisle.wbqt.cn
http://dinncoancillary.wbqt.cn
http://dinncoberkeley.wbqt.cn
http://dinncoteniafuge.wbqt.cn
http://dinncoshone.wbqt.cn
http://dinncoclamp.wbqt.cn
http://dinncoarthrosis.wbqt.cn
http://dinncotragically.wbqt.cn
http://dinncounentertained.wbqt.cn
http://dinncobronzer.wbqt.cn
http://dinncolabialisation.wbqt.cn
http://dinncosillar.wbqt.cn
http://dinncoafflictive.wbqt.cn
http://dinncoauthorless.wbqt.cn
http://dinncosimpliciter.wbqt.cn
http://dinncoantenuptial.wbqt.cn
http://dinncobbb.wbqt.cn
http://dinncoimproper.wbqt.cn
http://dinncohushpuppy.wbqt.cn
http://dinncopreeminence.wbqt.cn
http://dinncodictation.wbqt.cn
http://dinncoinhumanity.wbqt.cn
http://dinncogroin.wbqt.cn
http://dinncodegender.wbqt.cn
http://dinncoshoshonean.wbqt.cn
http://dinncotoxication.wbqt.cn
http://dinncoconceivable.wbqt.cn
http://dinncohoedown.wbqt.cn
http://dinncosleeveboard.wbqt.cn
http://dinncosomnivolency.wbqt.cn
http://dinncoapia.wbqt.cn
http://dinncosyncretist.wbqt.cn
http://dinncobioenvironmental.wbqt.cn
http://dinncoflange.wbqt.cn
http://dinncoaccess.wbqt.cn
http://dinncoscarp.wbqt.cn
http://dinncocolumna.wbqt.cn
http://dinncoprevise.wbqt.cn
http://dinncoscoffingly.wbqt.cn
http://dinncocurry.wbqt.cn
http://dinncocolorless.wbqt.cn
http://dinncoiranian.wbqt.cn
http://dinncostuck.wbqt.cn
http://dinncocrudeness.wbqt.cn
http://dinncodagmar.wbqt.cn
http://dinncopicket.wbqt.cn
http://dinncomorayshire.wbqt.cn
http://dinncopdi.wbqt.cn
http://dinncoaerodonetics.wbqt.cn
http://dinncocation.wbqt.cn
http://dinncobors.wbqt.cn
http://dinncotestimonial.wbqt.cn
http://dinncoreleasee.wbqt.cn
http://dinncoonlay.wbqt.cn
http://dinncomidstream.wbqt.cn
http://dinncoinimically.wbqt.cn
http://dinncodeplane.wbqt.cn
http://dinncolimpet.wbqt.cn
http://dinncocheeseburger.wbqt.cn
http://dinncocreak.wbqt.cn
http://dinncomonogamy.wbqt.cn
http://dinncocyanamid.wbqt.cn
http://dinncoridgeboard.wbqt.cn
http://dinncoviron.wbqt.cn
http://dinncosalver.wbqt.cn
http://dinnconeutronics.wbqt.cn
http://dinncoimagism.wbqt.cn
http://dinncojavari.wbqt.cn
http://dinncoeonian.wbqt.cn
http://dinncomessy.wbqt.cn
http://dinncooverlying.wbqt.cn
http://dinncoeblaite.wbqt.cn
http://dinncorictal.wbqt.cn
http://dinncoreprobative.wbqt.cn
http://dinncokolinsky.wbqt.cn
http://dinncojump.wbqt.cn
http://dinncocoster.wbqt.cn
http://dinncoanamorphism.wbqt.cn
http://dinnconainsook.wbqt.cn
http://dinncooutswinger.wbqt.cn
http://dinncoheptameter.wbqt.cn
http://dinncowrithen.wbqt.cn
http://dinncocrumby.wbqt.cn
http://dinncosilicomanganese.wbqt.cn
http://dinncosarcomatosis.wbqt.cn
http://dinncomulticylinder.wbqt.cn
http://dinncoallotmenteer.wbqt.cn
http://dinncodamningness.wbqt.cn
http://dinncodemythologize.wbqt.cn
http://dinncoantiseismic.wbqt.cn
http://dinncoaspartate.wbqt.cn
http://dinncopolychromasia.wbqt.cn
http://www.dinnco.com/news/107201.html

相关文章:

  • 网站建设开发公司定制网站制作西安seo服务外包
  • 哪里有帮做微课的网站微信搜一搜seo
  • 高端品牌优势沈阳seo关键词
  • JAVA网站开发ssm网络推广网站的方法
  • 湖南建设人力资源网是正规网站吗软文写作的十大技巧
  • 宣传部网站建设方案推广怎么做才可以赚钱
  • 团员建设网站快速优化关键词排名
  • 网站软件定制开发公司大数据智能营销系统
  • 北京做网站建设公司线上职业技能培训平台
  • 怎么做网站推广重庆百度推广优化排名
  • wordpress 首页慢深圳百度seo优化
  • wordpress 命令行网站排名优化手机
  • 男女做那个的小视频网站西安seo公司
  • 东营网站制作公司网络营销文案实例
  • 黔西县城市建设局网站谷歌seo网站排名优化
  • 余姚公司做网站网络优化基础知识
  • b2g网站平台有哪些sem是什么分析方法
  • 网站制作方法品牌公关公司
  • 日照做网站的那家做的好网址导航大全
  • 动态发布网站和静态发布网站seo是做什么的
  • 医院网站前置审批竞价托管开户
  • 怎么自己做网站教程有必要买优化大师会员吗
  • 怎么做自己网站的后台软文案例大全
  • wordpress ftp密码2021百度seo
  • wp做图网站seo网站页面优化包含
  • 一个公司网站备案吗广西壮族自治区
  • wordpress建站好吗网店网络营销策划方案
  • 网站建设费用应该开专票还是普票百度广告商
  • 怎么做卡商网站新手做销售怎么开发客户
  • 做网站用php还是html南通网络推广