日历

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

值与引用

Home Forums 《冒号课堂》讨论区 值与引用

Tagged: ,

  • This topic is empty.
Viewing 6 reply threads
  • Author
    Posts
    • #1056
      Todd
      Member

      我觉得“值与引用”这章算是全书的一个亮点,从语法到语义到设计几个层次进行了深入地分析,看了之后受益匪浅!

    • #1200
      hui
      Keymaster

      不瞒你说,“值与引用”是我写得最辛苦、最痛苦的部分,也是最担心读者厌倦的部分,因为内容比较枯燥,难以写出彩来,但又不写不快。

    • #1201
      Todd
      Member

      以前我写C#代码基本上所有类都用class,很少用struct。在实际项目中也出现过问题,比如:我设计的一个cache,直接把添加进来的对象引用保存起来,而不是值拷贝;这样一个模块不小心修改了对象,立刻反映到cache中,导致了一些意料之外的问题。

      我第一遍读这章之前,对值与引用基本上没有什么认识,一下子从语法到语义到设计的密集信息还是难以消化(但是依然觉得很精彩)。这次第二遍读这章就感觉好多了,认识深化了,自然就把脉络理顺了。

    • #1202
      Todd
      Member

      我在学习和使用mock技术的时候对值与引用有了一些新的理解。一般来讲,对象的动态行为表现在两方面:1.对象内部状态的改变;2.对象间的消息传递(方法调用)。用于表示对象内部状态的即为值,用于传递消息的即为引用。对应到单元测试用例中,一方面要检查被测对象状态的改变,另一方面要检查它向其他对象发送的消息。

    • #1203
      Todd
      Member

      这篇文章写得不错,可以作为学习值与引用的参考:

      http://blogs.msdn.com/b/ericlippert/archive/2009/04/27/the-stack-is-an-implementation-detail.aspx

    • #1204
      hui
      Keymaster

      这篇文章的中心是:选择值与引用,应主要从语义的角度,而不是从实现的角度(包括性能考量)。这正好支持了你的那篇颇受争议的博文中的观点。

    • #1205
      Todd
      Member

      我那篇博文的观点只是引用《冒号课堂》而已。我读到值与引用这章觉得受益匪浅,但可惜不是所有人都认得好东西,黄金摆在面前以为是泥巴。

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