Development cycle using GOODS for persistence

Cees de Groot cg at cdegroot.com
Tue Oct 19 11:01:55 UTC 2004


On Tue, 19 Oct 2004 12:26:13 +0200, Avi Bryant <avi at beta4.com> wrote:
> So at the least I'd say you want some kind of interface where, on  
> discovering a nil in one instvar, you can access a dictionary with lost  
> field values so that you can do some conversion and properly fill it in.
>
Hmm... In our main system we don't use straight instance vars, but a  
dictionary of 'attributes' souped up with metadata and timetravel. Most of  
these problems vanish that way, because we never throw away old data - you  
can always go back to the value of attribute 'foo' at '1 jan 2001' and the  
system doesn't really care whether that attribute has any current use...

(I must say, these timetravel patterns are great. We never have to copy  
values, for instance on an invoice line we simply point to the price table  
with a 'frozen' reference meaning it'll spit out the price that was valid  
at the time the invoice was created, etcetera; ditto for customer address,  
and other stuff that shouldn't change over time).



More information about the Squeak-dev mailing list