我对惰性实例化的最佳编码实践有疑问。
我有一个自定义类(MainClass),它构成了我的视图控制器的模型。MainClass 的属性之一是另一个自定义类(SubClass)。现在假设我想从我的视图控制器访问和设置 SubClass 的一些属性。我应该在 MainClass 中延迟实例化子类吗?
每次我想设置它的一个属性时,在 MainClass 中延迟实例化 SubClass 为我省去了检查 SubClass 是否存在(如果不存在则创建它)的麻烦。
另一方面,尽管只有 SubClass 存在时,我才无法在视图中设置变量。让我解释得更好。假设我只想在 SubClass.name 存在的情况下设置我的文本字段的 stringValue。每次我询问 SubClass.name 的存在时,MainClass 都会懒惰地实例化 SubClass,这是一种浪费。
最好的方法是什么?