日历

September 2020
M T W T F S S
 123456
78910111213
14151617181920
21222324252627
282930  

闭包与对象

Home Forums 《冒号课堂》讨论区 闭包与对象

Tagged: ,

  • This topic is empty.
Viewing 4 reply threads
  • Author
    Posts
    • #1090
      Todd
      Member

      这几天我用C#3.0的闭包实现了OOP风格的对象:

      http://www.cnblogs.com/weidagang2046/archive/2010/11/01/1865899.html

    • #1321
      Todd
      Member

      从命令式和函数式都可以走到对象上来,殊途同归啊!

    • #1322
      hui
      Keymaster

      《冒号课堂》4.4中也提到闭包与OOP的相似之处——把函数与变量捆绑起来。你这篇文章总结得不错,如果能对闭包表达与OO表达各自的优劣进行探讨就更好了。否则,读者会认为闭包只是简单的语法糖。

    • #1323
      Todd
      Member

      我觉得闭包更加灵活,而OOP的类更加严格和规范;前者适合局部使用,后者适合大的设计。郑老师怎么看呢?

    • #1324
      hui
      Keymaster

      在一个以OO为主的代码中,你的说法是有道理的。不过说到底,这还是个范式选择的问题。函数式同样可能用于大的设计,只是人们通常不习惯而已。函数范式对问题的分解与复合方式与OO范式是非常不同的,孰优孰劣,取决于问题本身的特质和设计者的倾向。其实,你的参考文章( http://csharpindepth.com/Articles/Chapter5/Closures.aspx )中“What’s the big deal?”对闭包的好处已经作了一些说明。

Viewing 4 reply threads
  • You must be logged in to reply to this topic.
 请您评分1星(很差)2星(不行)3星(一般)4星(不错)5星(很棒)