浏览 2886 次
锁定老帖子 主题:Observer模式初探
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (3)
|
|
---|---|
作者 | 正文 |
发表时间:2009-04-14
最后修改:2009-07-09
去印客面试,dlee问了下Observer模式,我知道Observer是什么,也用过java.util.Observable和java.util.Observer,回来后再看看Observer是怎么实现的,写了个小例子,简单的思考了下Observer
public class Test { public static void main(String[] args) { MyObserver myor = new MyObserver(); MyObservable myoe = new MyObservable(myor); myoe.setData(1); myoe.setData(2); myoe.setData(3); } } class MyObservable { private boolean isChanged; private int data; private MyObserver mo; public MyObservable(MyObserver mo) { this.mo = mo; } private void setChanged() { isChanged = true; } public int getData() { return data; } public void setData(int data) { this.data = data; setChanged(); notifyObservers(); } public void notifyObservers() { if (isChanged == true) { mo.update(this); } isChanged = false; } } class MyObserver { public void update(MyObservable mo) { System.out.println("data is changed to " + mo.getData()); } } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-06-10
Observerable依赖Observer接口,观察模式是OCP原则的一个很好的例子
|
|
返回顶楼 | |
发表时间:2009-09-15
原本模糊的概念,现在清晰很多了,谢谢
|
|
返回顶楼 | |