Помоему кеш вас не должен волновать, это должно быть внутреней реализацией в классе, я бы это реализовал бы примерно так.

Код AS3:
private var _cash:someType;
private var _calculationVectorLength:someType;
public function get vectorLength ():someType{
if(_calculationVectorLength!=_cash){
//расчет длины вектора
_cash=_calculationVectorLength;
}
return _cash;
}
//еще надо _cash инициализировать в конструкторе чтобы компилятор не кричал бы о null;