At 01:31 PM 9/19/2005 -0700, Alec Flett wrote:
Ted Leung wrote:
One of the items is to move away from use of onValueChanged and go back
to using constructors for creating various collection
kinds. Unfortunately, this
means that we wouldn't be able to use update to change
existing instances in the repository.
As I recall, the issue around this was that if we marked an attribute as
"readonly" then there wasn't an obvious way to actually initialize that
attribute. If Andi can give us a way to initialize the attribute, and tell
Phillip about it so he can make the schema stuff initialize correctly,
then can't we make 'sources' be readonly?
Also, I just today noticed InclusionExclusionCollection's 'setup' method.
I'm curious why some of this stuff can't be just set in the constructor? I
think this is kind of tied up in this onValueChanged/readonly sources
issue, which is why I bring it up. I'm hoping maybe pje will have some
brilliant idea how to get rid of 'setup' because it kind of breaks our
model of just using 'update' to initialize and create items.
I've been kind of thinking that allowing attributes' defaultValue and
initialValue to be functions instead of values would solve this and
eliminate other kinds of constructor fiddling that currently exist. Beyond
that, this specific problem really needs a sort of "derived attribute",
which would be a useful feature to have in general.
Anyway, I don't have any ideas that are more than half-baked on this at the
moment, so I'm inclined to say we should stick with what already works for
the time being. The TDD folks like to say they want "clean code that
works", but they also point out that you have to start with the code that
works, and *then* you clean it. It doesn't work so well the other way
around. :)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Open Source Applications Foundation "Dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/dev