Observer Pattern(观察者模式之注解开发)

本文介绍了观察者模式,也称为发布订阅模式,通过一个家庭场景展示了其工作原理。文章讨论了模式的优点,如动态扩展和解耦,并指出了串行执行的潜在问题。此外,还提供了代码实现,包括定义观察者注解、接口和具体观察者的例子,并阐述了如何通过添加注解和实现接口轻松扩展新的观察者。最后,提到了将观察者异步执行以解决串行执行的问题。
摘要由CSDN通过智能技术生成

定义

观察者模式又称发布订阅模式;多个业务方关注同一件事情,且互相没有依赖关系。
优点:观察者模式动态扩展,开发效率高,服务间解耦合
缺点:串行执行,如果一个观察者执行效率低,会影响整个任务执行,可以改成异步的方式。

开篇一张图

在这里插入图片描述

场景

家庭场景:小明是个程序员
小明:“我回家了”
小明的老婆:“老公 我去帮你把饭热好”
小明的儿子:“爸爸 给我讲个故事”
小明的智能音箱:“您好主人,已经打开热水器”
小明的爸爸:“…”

业务场景:积分到期事件
业务方:“积分失效”
用户方:“提醒失效”
优惠权益:“兑换权益失效”

代码实现

被观察者行为

public interface Subject {
    void notify(String message);
}

定义观察者注解

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Component
public @interface
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值