【发布时间】:2019-10-07 17:25:20
【问题描述】:
我想使用委托来实现委托模式
public class Cat {
private delegate void SoundDelegate();
private SoundDelegate sound;
public Cat() {
sound = new SoundDelegate(SomeClass.DoSound1);
}
public void DoSound() {
sound();
}
}
public class PussyCat {
private delegate void SoundDelegate();
private SoundDelegate sound;
public PussyCat() {
sound = new SoundDelegate(SomeClass.DoSound2);
}
public void DoSound() {
sound();
}
}
public class SomeClass {
public static void DoSound1() {
Console.WriteLine("Sound 1");
}
public static void DoSound2() {
Console.WriteLine("Sound 2");
}
}
这段代码是否包含委托模式?我的意思是我可以使用委托来实现委托模式还是这种方式不正确。
如果前面的例子是正确的,我可以使用委托来实现委托模式和观察者模式,那么观察者模式和委托模式有什么区别和相似之处呢?
【问题讨论】:
标签: c# design-patterns delegates delegation