吕震宇

几天前给学生上课,一个学生问我用Delegate与Event实现Observer模式与不用它们实现到底有什么区别?我便讲了一个用奶箱订报纸的故事。

现在很多人都同时在订报纸和牛奶,送报纸的和送牛奶的也会在楼门口钉上一个箱子,一来方便,二来也为自己做做广告。现在楼门口前钉的大大小小都是箱子,几乎挤满了所有可用的地方。报箱是那种长长的,而奶箱子则有些四四方方,上面都开了可口,用来投递的。我家原来订了奶,楼门口众多的奶箱中有一个就是我家的,可后来不打算订了,就留了个空奶箱在那里。最近又有订报纸的打算,可打量了一番门口大大小小的箱子,实在是拥挤不堪,难以放下另外一个报箱了。于是我想让他们把报纸投到奶箱里算了,还省了不少麻烦。可偏偏碰上一家送报的对我说,我只会把报纸投到报箱中,投到奶箱中的事我不会!也难怪,他们公司没有使用Delegate!唉。

设计模式随笔-用奶箱订报纸 (转)using System;
设计模式随笔-用奶箱订报纸 (转)
using System.Collections;
设计模式随笔-用奶箱订报纸 (转)
设计模式随笔-用奶箱订报纸 (转)
public interface IMilkBox
}


后来我碰上了一家送报纸的比较灵活,只要是有口的箱子都可以送,不管是报箱还是奶箱,我的想法终于得到实现了,当然这也要归功于Delegate。

设计模式随笔-用奶箱订报纸 (转)using System;
设计模式随笔-用奶箱订报纸 (转)
设计模式随笔-用奶箱订报纸 (转)
public delegate void SendableDelegate(string s);
设计模式随笔-用奶箱订报纸 (转)
设计模式随笔-用奶箱订报纸 (转)
public class Subscriber
}

呵呵,不知道这回有没有搞清楚Delegate的作用?

设计模式随笔-用奶箱订报纸 (转)

相关文章:

  • 2021-08-25
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-11
  • 2022-03-07
  • 2021-12-01
猜你喜欢
  • 2021-10-31
  • 2021-07-18
  • 2021-06-21
  • 2022-02-27
  • 2021-11-29
  • 2021-08-11
相关资源
相似解决方案