D.C*_*.C. 6 python getter design-patterns
有时我喜欢为一个对象编写getter属性,这样第一次调用它们时,繁重的工作就会完成一次,并且该值会被保存并在将来的调用中返回.在objective-c中,我将使用ivar或静态变量来保存此值.就像是:
- (id)foo
{
if ( _foo == nil )
{
_foo = // hard work to figure out foo
}
return _foo
}
Run Code Online (Sandbox Code Playgroud)
这种相同的模式在Python中是否能够很好地运行,或者有更多可接受的方式吗?到目前为止我基本上都是一样的.我不喜欢我的解决方案是我的对象混淆了值和这些值的getter:
def foo(self):
if not hasattr(self, "mFoo":
self.mFoo = # heavy lifting to compute foo
return self.mFoo
Run Code Online (Sandbox Code Playgroud)