设计模式学习笔记(二)- -观察者模式

[同系列文章]
1.设计模式学习笔记(一)- -策略模式

我又来了,续更ヾ(◍°∇°◍)ノ゙,接下来的内容是观察者模式的学习笔记

以下正文ヽ( ̄▽ ̄)ノ)

观察者模式

简要概括:书本以“气象站”为例,气象站–>天气数据对象–>布告板。其中,气象站更新数据的时候会通知天气数据对象更新数据,而天气数据对象则会将收到数据会通知N个布告板更新显示。这种“消息持有者”通知多个“消息接收者”的情况,可以进一步抽离为“观察者”模式。简单的说就是一对多的关系。

上图:
设计模式学习笔记(二)- -观察者模式_第1张图片

简要的代码:
1.原则,面向接口开发,so,写两个接口,一个“主题”(在Java里叫做:被观察者Observable),另外一个叫做“观察者”。

        public interface Subject{
            public void registerObserver();//注册
            public void removeObserver();//移除
            public void notifyObservers();//通知观察者们
        }

    public interface Observer{
        public void update(); //更新
    }

2.然后实现这两个接口,超简单。

        public class ConcreteSubject implements Subject{

        public void registerObserver(){
        //注册
        }

        public void removeObserver(){
        //移除

        public void notifyObservers(){
        //通知观察者们    
        }
    }
    public class ConcreteObserver implements Observer{

        public void update(){
        //更新
        }
    }

3.测试

....
....
纳尼,被省略了?那...ni自己写吧2333

4.结束

嘤嘤嘤,文章这么短,莫非..?ε≡٩(๑>₃<)۶
其实重点就在于理解“一对多”的关系,搞明白了,你就懂得了所谓的观察者和被观察者,成功入门~~~好好看书,frighting!

原则:
1.为交互对象之间的松耦合设计而努力
2.见下章:) 设计模式学习笔记(三)–装饰者模式

你可能感兴趣的:(设计模式)