设计模式学习笔记——Observer观察者模式

本文介绍了一种常用的设计模式——观察者模式。通过一个简单的例子解释了观察者模式的基本原理:当目标状态发生变化时如何通知所有观察者并进行更新。代码示例展示了如何实现观察者模式,包括定义观察者类和目标类,以及目标状态改变时如何调用观察者的更新方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

观察者模式里面有两个东西:观察者(Observer)和目标(Subject)。当目标发生变化的时候,观察者随之起舞,也作出相应的变化。此为观察者模式。

这是怎么做到的?主要是目标里面存有一份观察者的名单,当目标变化时,可以按照名单逐一通知,于是观察者们做出自己的响应。

这里写图片描述

public class Client
{
    public static void main(String a[])
    {
        MySubject subject=new Cat();

        MyObserver obs1,obs2,obs3;
        obs1=new Mouse();
        obs2=new Mouse();
        obs3=new Dog();

        subject.attach(obs1);
        subject.attach(obs2);
        subject.attach(obs3);

        MyObserver obs4;
        obs4=new Pig();
        subject.attach(obs4);

        subject.cry();      
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值