观察者模式属于行为型设计模式吗,python中观察者模式最重要的作用
本文主要介绍Python的设计模式,即行为观察者模式,即PublishSubscribePattern,它定义了一对多的关系,允许多个观察者同时监控一个主题对象。当主题对象的状态发生变化时,所有观察者都会得到通知,这样他们就可以自动更新自己。让我们和边肖一起进入这篇文章来了解细节。
00-1010一、观察者模式二。应用场景三。代码示例
目录
观察者模式必须包括“观察者”和“被观察者”的角色,观察者和被观察者之间存在逻辑联系。当被观察者发生变化时,观察者会观察到这样的变化,并做出相应的反应。观察例如:业务数据,观察用户界面。
事实上,大多数观察者模式都是一对多的关系,多个观察者对象可以同时观察一个被观察对象。
核心观察者模式的实现思路是:的抽象类用于管理所有依赖它的其他类。当核心类发生变化时,它会主动通知和更新其他类。
一、观察者模式
抽象模型有两个方面,其中一个依赖于另一个。将这些方面封装在独立的对象中,使它们能够被独立地更改和重用。一个对象的变化会导致一个或多个其他对象的变化,而不知道会有多少个对象发生变化,这样会降低对象之间的耦合度。一个对象必须通知其他对象,而不知道它们是谁。有必要在系统中创建一个触发链。对象A的行为会影响对象B,对象B的行为会影响对象C,…您可以使用观察者模式来创建连锁触发机制。
二、应用场景
当客户数量减少到阈值时,销售会通知工厂减产,同时通知人力资源开始裁员,反之亦然。
类别观察器:
观察者核心类,销售人员
def __init__(self):
自我。_number=无
自我。_department=[]
@属性
定义编号(自身):
回归自我。_数字
@number.setter
定义编号(自身,值):
自我。_number=值
打印(当前客户数量:{} 。格式(自我。_number))
对自己来说。_部门:
对象变化(值)
打印(-)
定义通知(自己,部门):
相关部门
自我。_department.append(部门)
Hr:级
人事部观察员班
定义更改(自身,值):
如果值为10:
打印(“人事变动:裁员”)
elif值20:
打印(“人事变动:人员扩充”)
else:
打印(“人员不受影响”)
类别工厂:
观察者类,工厂类
定义更改(自身,值):
如果值为15:
打印(“生产计划变更:减产”)
elif值25:
打印(“生产计划变更:增加生产”)
else:
打印(“生产计划保持不变”)
if __name__==__main__:
观察者=观察者()
hr=Hr()
工厂=工厂()
观察者.通知(hr)
观察者.通知(工厂)
观察者数量=10
观察者数量=15
观察者数量=20
观察者数量=25
这就是这篇关于Python设计模式行为观察者模式的文章。有关Python设计模式观察者模式的更多信息,请搜索流行的IT软件开发工作室以前的文章或继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。