Mike wrote:
I will add a "retrieveItem" method to the Specialist which, instead of accessing a rack in the local specialist (the default implementation), it will instead call (for example) SkyDivers.getItem(). Thus, when you call Customers.getItem(), you will actually get an object from the SkyDivers specialist. In other words, I make the horizontal domain specialist delegate to the vertical specialist.
Maybe the best way is to put a 'thumb' data source into Customers instead of native one. This thumb should translate all messages to SkyDivers' data source. I'm just considering on specialized racks which implement non-standard api, such as 'findItem( criteria)', 'itemValues()' or something similar. By the way, racks should have a kind of 'scanning' api, like Zope's Folders, at least they should have itemIds() method. Mike