A Strategy pattern is precisely what I am using in my current version
of Naga (which aims to be a sort of "app server toolkit" as opposed to
an out of the box functional app server).  What I'm doing is pulling
some ideas out of Indra2 (a PHP project I started and abandoned) and
decoupling the backing store from the particular layout used, such as
the filesystem, breaking it into two classes, Store and Schema (I'm a
little iffy on the name "Schema").  Store just implements some filesystem-like
operations like path parsing, "parent locations", and so forth, and schema
implements the structure and searching operations, so one could use the
same schema (such as one that climbs the INCLUDE_PATH or another that
implements policies on component naming conventions) to search a variety
of stores.  Back when I wrote this in Indra2, I was aiming at Midgard
compatibility, so I needed a RDBMS backend and a Midgard compatible schema.
 The same idea turns out to be useful for Naga because it fits well with
the toolkit approach.

__________________________________________________
FREE voicemail, email, and fax...all in one place.
Sign Up Now! http://www.onebox.com



Reply via email to