美文网首页
观察者模式

观察者模式

作者: 愿夜有烛 | 来源:发表于2024-07-06 19:43 被阅读0次

    观察者模式的组成:观察者,被观察者。

    作用:当被观察者有新的动作时,观察者也能够做出相应的响应。

    本文中的命名及其作用:CheckWithRedis,观察者1号。

                                            RestoreToDb, 观察者2号。

                                            Observer 观察者接口类。

                                            Observered, 被观察者。

                                            TestMain,测试主启动类。

    观察者接口类,定义方法的类型,具体实现交给其实现类

    观察者1号。笔者这里假设,我们的数据是需要去redis中有一次校验类的查询的。需要注意的是,我们在这个类的构造方法中,进行了两步操作。

    1.将类中的被观察者类与构造方法中的入参被观察者进行绑定。

    2.将当前观察者,添加进被观察者的“观察者LIST中”

    观察者2号。这里假设是有一个需要存储到DB的业务场景,其他设置与观察者1号相同。

    被观察者。

    1.有一个添加观察者进入“观察者LIST”的方法。提供给每一个观察者。

    2.getNewInputFile方法,等于就是被观察者自己的一个主方法,比如我们的数据调用,业务处理,都是从这个方法开始的。

    3.关于被观察者自身来说,有没有相关的业务逻辑需要自己处理,笔者看来都是可以的。如果没有自己的专属的业务逻辑,那么就等于是纯作为一个信息的入口,将数据share给其它几个观察者。而以后假如我们需要对业务有新的逻辑,也不需要去对代码有大幅改动,只要增添一个Observer接口的实现类即可。

    代码实现效果如下

    调用被观察者接收消息的方法,其他两个观察者,便也会调用自己相应的逻辑去执行。使得代码更具有更好的简洁度和可扩展性。

    相关文章

      网友评论

          本文标题:观察者模式

          本文链接:https://www.haomeiwen.com/subject/wsfncjtx.html