[Bikeshed] getter/readonly mixin util with private/protected backing
Nick Sabalausky
a at a.a
Wed Nov 11 23:55:59 PST 2009
In my SemiTwist D Tools project (
http://www.dsource.org/projects/semitwist ), I have a util mixin to DRY-ly
create a publically-readonly property with backing storage (actually, I've
had it for awhile, but I've been toying with it again recently).
1. It can optionally give the backing storage any access level you want, but
what I'm wondering is, what do you think would be a better default: private
or protected?
2. As a secondary question, do you think 'getter', 'readonly' or something
else would be the best name for it?
3. There's an alternate version that creates a getter that, instead of
returning the backing storage, works like this: On the first call, a
user-supplied function is called that generates the value. This value is
automatically cached and returned. Subsequent calls return the cached value
until the private (or protected) 'cached' flag is cleared. What would be a
good name for this util? 'getterLazy', 'getterCached', 'readonlyLazy',
'readonlyCached', etc..., or just simply overload the regular
'getter'/'readonly'/etc...?
4. Do you think this util would be a useless waste, or potentially handy?
My main interest is Q #1, but I'm curious about opinions on the others too.
More information about the Digitalmars-d
mailing list