摘要: 实现观察者模式的过程实现观察者模式有很多形式,比较直观的一种是使用一种“注册——通知——撤销注册”的形式。下面的三个图详细的描述了这样一种过程:1、观察者(Observer)将自己注册到被观察对象(Subject)中,被观察对象将观察者存放在一个容器(Container)里。2、被观察对象被观察对象发生了某种变化(如图中的SomeChange),从容器中得到所有注册过的观察者,将变化通知观察者。3、撤销观察观察者告诉被观察者要撤销观察,被观察者从容器中将观察者去除。 观察者将自己注册到被观察者的容器中时,被观察者不应该过问观察者的具体类型,而是应该使用观察者的接口。这样的优点是:假定程序中还有 阅读全文
posted @ 2011-02-26 15:45 [静水流深] 阅读(355) 评论(1) 推荐(0) 编辑
摘要: 题目:求以下表达式的值, 1-2+3-4+……+m一接触此题目我第一想法就是通过循环来实现,为方便测试使用javaScript语言来编写如代码: function foo1(v) { var sum=0; for(var i=0;i<v+1;i++) { if(i%2>0) { sum+=i; } else { sum-=i; } } return sum; }后面想想找一下数学规律,完全可以通过一个公式来计算的,[当为奇数时:值等正数,即为m/2+1的值当为偶数时:值为负数,即为m/2*-1]代码如下: function foo1(v) { var sum=0; if(v%2& 阅读全文
posted @ 2011-02-26 10:43 [静水流深] 阅读(1191) 评论(1) 推荐(0) 编辑