comments about Jigsaw design

I downloaded Jigsaw a couple of days ago and have been playing with it 
and looking at the code.  I'm very impressed with certain aspects of its 
design.  Specifically, it's method for tracking the meta-data and the 
mapping between resources and objects is excellent.  The configuration 
method (via forms) is also very well designed.

HOWEVER... ;^)

there are a couple of spelling errors in identifiers.  "Registry" is 
misspelled as "Registery" and "negotiated" is misspelled as "negociated". 
 Minor, but it's more frustrating to work with the code.

My main thoughts concern the design of Resource filters.  To me, the 
Decorator pattern seems like the natural approach (like the way 
InputStream works).  But the Jigsaw implementation is more like the 
Strategy pattern.  See pp. 179-180 of "Design Patterns" (Gamma, et al) 
for a complete description.  It seems to me that the Decorator pattern 
would allow more powerful filters and be better encapsulation.

Another one I wonder about is the way Resources are looked up.  In 
Jigsaw, the root container chases down the final target Resource in a 
loop, instead of just looking up the Resource for first component of the 
URL and passing the remaining components to that Resource.  Wouldn't the 
recursive-style lookup be better encapsulation?

Received on Friday, 12 July 1996 12:16:05 UTC