我在AS3中编写了一个Scale9Bitmap类,它需要dev为scale9Grid设置BitmapData和Rectangle。我想知道公众获取两者的功能是什么习惯。我是否会返回每个的克隆,以使其没有挂起引用,但不是对内存友好?或者我把它留给dev并返回原始实例?
答案 0 :(得分:1)
留给开发者。如果需要,开发人员可以克隆它。然而,这非常容易出错。通常你会射击不可变状态并返回一个克隆。但是你已经提到过AS3这个坏主意。
答案 1 :(得分:0)
我不熟悉ActionScript,但在其他语言中,我更愿意选择。所以把它留给开发者。
答案 2 :(得分:0)
我会从setter中删除所有实现显示状态的逻辑,并将其移动到某个update
方法,并将其保留为对象的引用。
每次获取强制克隆都是非常不方便的,例如想一个简单的大小检查等等。