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

自助购物网站怎么做视觉设计网站建设

自助购物网站怎么做,视觉设计网站建设,微网站 举例,管理系统开发观察者模式 单个对此#xff08;发布者#xff0c;也称为主体或是可观察对象#xff09;和一个或是多个对象#xff08;订阅者#xff0c;也称为观察者#xff09;之间的发布-订阅关系。增加发布者和订阅这个之间解耦#xff0c;使得在运行时添加、删除订阅者变得容易。…观察者模式 单个对此发布者也称为主体或是可观察对象和一个或是多个对象订阅者也称为观察者之间的发布-订阅关系。增加发布者和订阅这个之间解耦使得在运行时添加、删除订阅者变得容易。对于MVC, 发布者是模型订阅者是视图。 拍卖场景 每个竞买人都有一个号码牌当天安门想要出价时就举起号码牌。当竞买人举起牌子时拍卖人即为主体更新竞买价格并将新价格广播给所有竞买人竞买者。 软件场景  RabbitMQ  库可以用于应用程序添加异步消息支持支持多种消息协议http和amqp 。RbbitMQ 可以在Python 应用与发布订阅模式该模式就是观察者设计模式。 新闻流  使用RSS 、Atom 或其他相关格式。可以关注一个新闻流每次更新时候你都会收到一个关于更新的通知。 事件驱动系统 监听器监听特定的事件监听器在监听的事件被创建时触发。这个事件可以是按下一个特定的键移动鼠标事件扮演发布者的角色监听器扮演观察者的角色。可以为单个事件发布者添加多个监听器观察者。 案例 格式化程序有一个默认的格式化程序以十进制格式显示一个值可以添加、注册更多的格式化程序。每次更新默认的格式化程序时候都会通知已经注册的格式化程序采取行动。程序以相关格式显示新的值。 (1) 定义 Publisher 类。 (2) 定义 DefaultFormatter 类以及特殊的 __init__ 和 __str__ 方法。 (3) 向 DefaultFormatter 类添加 data 属性的设置方法和获取方法。 (4) 定义两个观察者类 (5) 添加程序的主体部分。 main() 函数的第一部分如下。 class Publisher:def __init__(self):self.observers [] # 保存观察者def add(self, observer):if observer not in self.observers:self.observers.append(observer)else:print(fFailed to add:{observer})def remove(self, observer):try:self.observers.remove(observer)except ValueError:print(fFailed to remove:{observer})def notify(self):print(所有观察者通知更新)[o.notify(self) for o in self.observers]class DefaultFormatter(Publisher):def __init__(self, name):Publisher.__init__(self)self.name nameself._data 0def __str__(self):return f{type(self).__name__}:{self.name} has data {self._data}propertydef data(self):return self._datadata.setterdef data(self, new_value):try:self._data int(new_value)except ValueError as e:print(fError:{e})else:self.notify() # 执行通知定义两个观察者 class HexFormatterObs:def notify(self, publisher):value hex(publisher.data)print(f{type(self).__name__}: {publisher.data} has now hex data {value})class BinaryFormatterObs:def notify(self, publisher):value bin(publisher.data)print(f{type(self).__name__}:{publisher.data} has now bin data {value})def main():dfDefaultFormatter(test1)print(df)print(---------------------)hfHexFormatterObs()df.add(hf)df.data3print(df)bfBinaryFormatterObs()df.add(bf)df.data21print(df)print(----------hello-----------)df.datahelloprint(df)print(----------15.8-----------)df.data15.8print(df) if __name__ __main__:main()# try:# print(33333)# except:# print(wwww)# else:# print(else) 执行结果  DefaultFormatter:test1 has data 0 --------------------- 所有观察者通知更新 HexFormatterObs: 3 has now hex data 0x3 DefaultFormatter:test1 has data 3 所有观察者通知更新 HexFormatterObs: 21 has now hex data 0x15 BinaryFormatterObs:21 has now bin data 0b10101 DefaultFormatter:test1 has data 21 ----------hello----------- Error:invalid literal for int() with base 10: hello DefaultFormatter:test1 has data 21 ----------15.8----------- 所有观察者通知更新 HexFormatterObs: 15 has now hex data 0xf BinaryFormatterObs:15 has now bin data 0b1111 DefaultFormatter:test1 has data 15
http://www.sczhlp.com/news/155439/

相关文章:

  • 17一起做网店网站动态图网站怎么做dw
  • wordpress 企业站聊城做网站公司聊城博达
  • 营销型类型网站多少钱些seo专业术语
  • 湛江做网站说wordpress备份与恢复教程
  • 专业的网站建设科技公司淘宝店铺首页设计模板
  • wordpress扫码付费seo关键词优化指南
  • 怎么做百度搜索排名平阳网站优化
  • 网站信息服务费怎么做分录专业上海网站建设公司排名
  • 免费创建手机网站实时在线街景地图
  • 企业网站建设可以分为哪些层次网站飘窗建设合同
  • 山西做网站公司合肥做网站的价格
  • 简述网站建设的作用天津 网站备案
  • MAUI下热重载不生效
  • 火狐浏览器新页覆盖旧页解决方法
  • Python错题集
  • 中山网站建设网站做有色研究的网站
  • 服务器不稳定 如何让百度重新收录网站大一html网页制作
  • 网站建设与网页设计案例教程pdf下载网络营销师报名官网
  • 驾校网站建设关键词建设部安全事故通报网站
  • 福建省中嘉建设工程有限公司网站深圳房价
  • 网站建设算固定资产吗网络规划设计师教程下载
  • 做短视频必备的网站云梦做网站
  • 迅驰互联网站建设网络推广怎么样益阳市城乡和住房建设部网站
  • 微网站自己怎么做的云南建投第五建设有限公司网站
  • 网页设计制作网站网站建设及推广预算表
  • 云酒店网站建设wordpress拖拽式
  • 做自适应网站注意事项怎样才能建立网站
  • 网站开发导航网站开发有几种类型
  • 互联网招聘网站wordpress code插件
  • 潍坊网站制作保定公司城乡建设网站报建需要什么