Object fields vs slots
Josh Sled
jsled at asynchronous.org
Thu Dec 20 15:09:07 EST 2007
Phil Longstaff <plongstaff at rogers.com> writes:
> What is the rationale uses to decide whether to make an object attribute
> a field in a structure vs a slot? An Account has the hidden,
> tax-related and placeholder attributes which are slots rather than
> fields in the Account structure. What is the reason for that decision?
> I know slots are used to hold sx information. Are they used extensively
> elsewhere in the system?
Many: Layering. Convenience. Laziness.
Very practically, a plugin (e.g. Business) can't define fields on a Engine
layer object, for instance. It must use the generic storage.
However, that a Transaction's Notes – a very clear first-order field – are in
a KVP frame is just bad design.
The SX use, imho, is a bit less clear. The fact that a Transaction was
created from an SX is "just advisory", so it's less threatening that it's in
a KVP frame. Still, it'd be nicer if Transactions had a more formal "source"
field, that could be used for this purpose, as well as import, &c. This is
an argument primarily from laziness. :)
They're convenient because the KVP data is (un)marshalled from XML
generically; this is a bad excuse for its use, imho.
--
...jsled
http://asynchronous.org/ - a=jsled; b=asynchronous.org; echo ${a}@${b}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 188 bytes
Desc: not available
Url : http://lists.gnucash.org/pipermail/gnucash-devel/attachments/20071220/4a6863c6/attachment.bin
More information about the gnucash-devel
mailing list