首页 » SEO优化 » php设计不雅察者技巧_PHP设计模式之不雅观察者模式通俗易懂让你的代码飞起

php设计不雅察者技巧_PHP设计模式之不雅观察者模式通俗易懂让你的代码飞起

访客 2024-10-29 0

扫一扫用手机浏览

文章目录 [+]

不雅观察者模式,当一个工具状态发送改变时,依赖它的工具全部会收到关照,并自动更新。
不雅观察者模式实现了低耦合,非侵入式的关照与更新机制。

设计模式之不雅观察者模式

php设计不雅察者技巧_PHP设计模式之不雅观察者模式通俗易懂让你的代码飞起

说实话,这个观点实在是不好理解,初次学习不雅观察者模式的开拓者,看到这个观点都是一脸懵逼的觉得,

首先,什么是当一个工具状态发生改变,说白了便是实例工具方法的调用,也可以理解为事宜触发,方法调用完成后也代表状态发生改变,这个时候就会关照依赖此实例工具的其他工具,什么是依赖此工具的其他工具,拿编码来说,便是在此工具中定义一个数组,然后把依赖它的工具给装进去,这些被装进此工具定义的数组中的其他工具便是不雅观察者了,等上述事宜触发完成后,循环这个不雅观察者数组调用每个不雅观察者的方法就实现了关照所有不雅观察者,但是这里有一个哀求,所有这些被注册到此工具不雅观察者数组中的其他工具必须具有相同的吸收关照的成员方法,可以这样做,我们让所有须要依赖此工具的所有工具具有符合标准的属性和方法,接口,定义一个标准接口,这些不雅观察者类都来实现这个标准接口,这样一定就要实现个中的成员方法,关照到不雅观察者后详细不雅观察者会做什么动作,此工具并不关心,这也就实现理解耦。
有些小伙伴可能会疑问,不雅观察者工具怎么依赖到此工具中去呢?编码层面阐明,在此工具中定义一个注入不雅观察者的方法addObserver(observer),吸收工具类型参数,然后在此工具布局方法中调用$this->addObserver(new object());实现不雅观察者的注入,这样往后如果说还要关照其他不雅观察者,只须要在布局方法里面addObserver即可。
好了,下面咱们用伪代码和现实例子进行表述。

php设计不雅察者技巧_PHP设计模式之不雅观察者模式通俗易懂让你的代码飞起
(图片来自网络侵删)

php

例如:电商公司订单出货,出货后须要更新实物库存,修正订单发货状态。

这里的订单出货仅仅便是一个扫描动作,这个动作完成后代表工具状态发生变革,也便是事宜已触发,接下来就须要关照不雅观察者已经出货,每个不雅观察者根据自己的属性做出相应动作。
代码如下:

发货出库:

发货出库类

定义不雅观察者接口:

不雅观察者接口

订单发货状态:

订单类

产品减实物库存:

产品类

通过这个例子,就很好理解“不雅观察者模式”,只是在现实中的碰着的问题每每更繁芜,这个就须要小伙伴们能够仔细思考,发散思维,末了能够抽丝剥茧,设计出比较好的代码层次和构造。
理解这个不雅观察者模式有点像里面的订阅模式。
每天一点设计模式,让你的代码和思维越来越优化!

设计模式之不雅观察者模式

本日的分享就到这里,喜好我的内容,欢迎转发~~留言磋商~~

感激!

相关文章

我国土地利用分类代码的构建与应用

土地利用分类代码是我国土地管理的重要组成部分,是土地资源调查、规划、利用和保护的依据。土地利用分类代码的构建与应用显得尤为重要。本...

SEO优化 2025-02-18 阅读0 评论0

微信跳转微信支付便捷支付体验的秘密武器

移动支付已成为人们日常生活中不可或缺的一部分。作为我国领先的社交平台,微信支付凭借其便捷、安全的支付方式,深受广大用户的喜爱。而微...

SEO优化 2025-02-18 阅读0 评论0

探寻会计科目代码背后的奥秘分类与

会计科目代码是会计信息系统中不可或缺的组成部分,它将企业的经济活动进行分类和归纳,为会计核算、财务分析和决策提供重要依据。本文将从...

SEO优化 2025-02-18 阅读1 评论0