【问题标题】:Why do the courses at Stanford use the lazy initialisation? [duplicate]为什么斯坦福的课程使用惰性初始化? [复制]
【发布时间】:2014-02-13 20:20:38
【问题描述】:

为什么斯坦福的课程对所有 getter 都使用惰性初始化?

这是正确的吗?它有什么真正的优势吗?

一个优点(对我来说)是init 方法可以变得更短,您无需检查是否分配了变量。

【问题讨论】:

标签: objective-c lazy-initialization


【解决方案1】:

这个想法是按需加载资源。这样,一切都可以在需要时更快地加载。在不使用的情况下,它不会分配额外的内存。

【讨论】:

  • ... 这最终将初始化成本转变为主要应用程序操作的副作用,从而导致经常难以优化性能问题,并且很少会导致完全痛苦的初始化排序依赖项调试。
  • @bbum 好的....但是当我读到这个linklink 时,我开始怀疑是否到处都使用lazy。
  • 无处不在不是一个选项。一切都是针对具体情况的。正如@bbum 所说,go 可以解决其他问题。经验是教你如何处理每种情况的东西。
  • @graver 是的,但是 stanford 到处都在使用懒惰……为什么? Paul Hegarty 在应用程序启动后立即调用 getter 时也会使用惰性
  • 他们展示的项目过于简单,无法一概而论。可能只是为了教学生有关惰性实例化的知识。只是一个想法。
猜你喜欢
  • 1970-01-01
  • 2016-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-28
  • 2019-03-17
  • 1970-01-01
  • 2023-03-09
相关资源
最近更新 更多