声明:我下面所说的这个例子,已经不是什么新鲜东西,差不多每一个成员都听说这个例子。之所以我还把写下来,是因为这是我自己的心得体会,不是听来的,而不是看来的,无它意义 ,谢谢!
今天中午在吃饭的时候无意间发现了 一个细节:那就是、在餐厅里订餐吃饭和.NET下事件订阅机制很相似。
现实中的情况如下:等你到了那、只需要告诉服务员你吃什么饭、菜,付完款之后服务员就会给你一张菜单,你就可以去餐桌上等着了。等到做饭、菜的师傅把饭、菜做熟,然后服务员就会把饭、菜送到你面前,那时你就可以尽情享用了。
而在.NET下的事件订阅机制与上述情况很相似:当你与服务员沟通订餐的时候、那就相当于声明并且订阅了一个事件;当做饭、菜的师傅把饭、菜做熟、告诉服务员上菜的时候、那就相当于触发一个事件(顾客手中拿的菜单就相当于.NET下的一个委托,这个委托(即菜单)会知道是那位顾客定了那些菜);而服务员上菜就相当于触发事件时的事件处理。而触发一个事件的结果就是顾客可以尽情享受美食了。在.NET的事件机制下,你可以忽略掉许多东西,省很多的力,达到很好的效果。比如:饭是怎样做熟的、做菜时需要搁多少盐等等都可以忽略掉的。因此我想自己去定义更多的.NET事件、当然这还是需要自己去写代码、也就是相当于自己去做饭了,但是那时候的做饭你只需要考虑做饭、而把吃饭与做饭两个过程或者是说两个实现细节相互分离、使逻辑结构更加清晰、且易于操控,而惟一的弊端就是增加了代码量。不过衡量利弊我更愿意去写代码。
呵呵… 小小体会、随笔写之,无它意义。