E&S CVS Commit: pylib - Added new "Basic" structural model, designed to be structure-agnostic and

pje at eby-sarna.com pje at eby-sarna.com
Mon Jul 30 17:19:00 EDT 2001


Module Name:	pylib
Committed By:	pje
Date:		Mon Jul 30 21:18:34 UTC 2001

Added Files:
	pylib/TW/StructuralModel: Basic.py

Log Message:
Added new "Basic" structural model, designed to be structure-agnostic and
capable of being used with weak references, acquisition, persistence, or
other methods of dodging circular references.  Services and Features in the
Basic model automatically copy themselves on first use so that each
container gets a fresh instance.  This allows features to directly contain
or manage their data, rather than having to delegate back to a higher
level.  (Which is much more convenient for simple storage models like a
purely-in-memory application or a ZODB-based app.)

Also added a simple implementation of the Basic model, "AcquisitionModel",
which uses Acquisition to link Features and Elements back to their Elements
and Services, respectively.  It does not break circular links on its own,
but must be used with a garbage-collecting VM (e.g. Jython or Python 2.1)
or with ZODB, in order to avoid memory leaks.


To view diffs of this commit, you can use the following URL(s):
http://cvs.eby-sarna.com/pylib/TW/StructuralModel/Basic.py?rev=1.1&content-type=text/vnd.viewcvs-markup

To generate a diff of this commit:
cvs rdiff -r0 -r1.1 pylib/TW/StructuralModel/Basic.py

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.





More information about the source-changes mailing list