zoukankan      html  css  js  c++  java
  • 《计算机程序的解释和构造》(SICP)学习2-对系统结构的两种不同的“世界观”

    原文:在面对大型程序时,对程序的组织很大程度上后受到我们对于被模拟的系统的认识的支配。有两种特点鲜明的组织策略。它们源于对系统结构的两种不同的“世界观”。第一种将注意力集中在对象上,将一个大型系统看作很多对象,这些对象的状态和行为可能随着时间的变化而变化。另一种策略将注意力集中在流过系统的信息流上,就像一个电子工程师观察一个信号处理系统。

    理解:面向对象的思维方式和函数式编程?面向对象最显著的特点就是一组对象的状态会不断变化,对象会有构造,析构的过程

     

    原文:基于对象的途径和基于流处理的途径,都对程序设计提出了具有重要意义的语言要求。对于对象途径而言,我们必须关注计算对象可以怎样变化而又同时保持其标识。这将迫使我们放弃“代换模型”,而转向更机械式的,理论上也更不容易把握的计算的“环境模型”。在处理对象、变化和标识时,各种困难的根源在于我们需要在这一计算模型中于时间搏斗。如果允许程序并发执行的可能性,事情就会变得更困难许多。流方式特别能够用于松解在我们的模型中对时间的模拟于计算机求值过程中的各种事件发生的顺序。我们将通过一种称为“延时求值”的技术作到这一点。

    理解:面向对象方法的关注点就在对象的状态和行为的变化上。伴随着时间的推移,我们要记录或者保持住对象在某一个时间点上的状态。多个对象对同一变量的并发访问操作造成了对象在时间点上状态的错乱,为了减少这种情况,就给变量加上作用域,将其限制在某个对象内部,也就是我们经常说的私有属性,字段。

  • 相关阅读:
    Allegro PCB Design GXL (legacy) 使用slide无法将走线推挤到焊盘的原因
    OrCAD Capture CIS 16.6 导出BOM
    Altium Designer (17.0) 打印输出指定的层
    Allegro PCB Design GXL (legacy) 将指定的层导出为DXF
    Allegro PCB Design GXL (legacy) 设置十字大光标
    Allegro PCB Design GXL (legacy) 手动更改元器件引脚的网络
    magento产品导入时需要注意的事项
    magento url rewrite
    验证台湾同胞身份证信息
    IE8对css文件的限制
  • 原文地址:https://www.cnblogs.com/dahuzizyd/p/SICP2.html
Copyright © 2011-2022 走看看