[Zope-dev] Efficient and flexible object references

Michael R. Bernstein webmaven@lvcm.com
19 Aug 2001 14:05:30 -0700


On 19 Aug 2001 10:00:49 -0500, Steve Spicklemire wrote:
> Hi Folks,
> 
> On Sunday, August 19, 2001, at 01:06 AM, Michael R. Bernstein wrote:
> 
> > If you want the retreival of meta-data without waking up the object, you
> > still need to layer on the global unique id with ZCatalog on top of
> > ZPatterns.
> >
> 
> Hmm... one nice thing about ZPatterns is that you could control what is 
> stored where, and when it's looked up, or "woken up" at the SkinScript 
> level  so the application doesn't have to muss with the details (and you 
> can change your mind later about the details with no impact on the 
> application!). This, to my way of thinking, is a huge advantage!

You're right, of course. I hadn't used ZPatterns in a while, and wasn't
aware of the per transaction caching of data (which basically means that
within a transaction an object only needs to be woken up once to get the
neccessary data), but does ZPatterns currently have a built in way for
doing persistent caching of meta-data? If not, then the easiest way to
get this would be to layer the ZCatalog approach on top of ZPatterns,
and using SkinScripts to hide the source of the referred object's info.

SkinScripts do allow you to hide the implementation of all this caching,
along with the storage details, from the application. This flexibility
is very important for making it possible to re-deploy the application in
new circumstances where your original assumptions for storage and
caching are invalidated.

In other words, ZPatterns is a framework building framework (a
meta-framework) and seems to be best suited for building application
frameworks that are flexible and future-proof, rather than building
'mere' applications.

Cheers,

Michael.