主题:【原创】JAVA和C#,武当和少林之争! -- Highway
共:💬137 🌺299 🌵10
functor也是,只不过定义来自lambda体系而已。其实都是interface。你想你定义delegate的时候也要给出signature,这实际上就是定义了一个单成员的interface。然后实际用这个delegate的时候,你要给出符合该signature的某一个具体函数,那实际上就是给出一个该interface的实现。
从这里可以看出,delegate虽然方便,但是有一点局限性,就是传递的函数显然是stateless,相比之下,以实现interface的class形式出现,就可以是stateful,基于stateful的callback对于鼓励OO设计大有好处。
- 相关回复 上下关系8
压缩 2 层
Was "enclosure" typo of "closure"? 请尽量 字0 2005-10-19 01:24:00
Yes, "closure" 魔法胖子 字73 2005-10-19 10:11:45
我觉得delegate更像Functor 无斋主人 字323 2005-10-18 18:00:24
其实都是interface
嗯,魔法兄说的有理 无斋主人 字70 2005-10-19 10:48:09
It is meant to wrap up functions to use as callbacks. Speaking of 请尽量 字103 2005-10-19 01:27:48
😁总结的好! Highway 字0 2005-10-18 15:22:36
不妨这么理解:Your class delegates works to interfaces. 请尽量 字69 2005-10-18 01:52:54