From: Alex B. <en...@tu...> - 2001-06-27 17:33:12
|
> Here is an example to illustrate. Let us say that we are > trying to give the location of the nearest ACME CORP store > to the site user, based upon the entry of the site user's > ZIP code. Our module load order may be, after the round > trip passing in the ZIP: > > 1. Module with some decoration output > 2. Module to merely compute great circle distance, > no output > 3. Module to get the nearest store out of the > database, no output > 4. Module with some decoration and output of result hi Justin, that sounds like one module with a library to me. so, you have the library compute great circle, do a query for the store, spit it into a template, and output. I echo Odysseas' response re: a view on a set... though I will now try and create scenarios in my head for needing module communication. :) > For this example data has to be dropped into global > scope, Hansel and Gretel style, by module 2 for module 3. > Then data has to be put into global scope by module 3 > for module 4. > > THIS IS NO PROBLEM with the facility of BC. But, in > a production environment, when our business is going to > create numerous modules that maybe do tasks that only > differ slightly, and depend upon data "passed in" from > a previous manipulation of an upstream module, we have > to agree among ourself as to the place where this data > will be picked up, and results dropped. So, we may > do something like, everything will be stuck in > the EYE_LUNCHBOX array/data structure, and comments will be put in > the module source as to where it expects things, > and where it will drop things in the EYE_LUNCHBOX > datastructure/array. what do you think about the above? > This is still no problem. However, one of the advantages > of BC will be the contribution or interchange with other > developers of BC modules. Probably every shop will have > its "own conventions", and foreign modules may have to > be tweaked slightly. it is my hope that the tweaking is done with subclasses and custom templates only, so everyone can keep pretty clean installs. > As I said, this is no problem, but I think it would > be a good idea to consider that BC supplies upon > initialization a standard place for data passing. > Sure, we could do it, and put "EYE_LUNCHBOX[]" into > our copy of Init. But, I would rather you supply the > facility, and that this would be available for all > BC users. You are not going to dictate that data > to be passed has to go there. But, by you setting > up this facility, at least everybody could start > using it. > > I don't think this is a trivial request, because if > BC grows up to be big, and people "use" data dropping > and picking up from a built-in standard place, the > ultimate interchange of code between developers would > become easier. I think you may be right, though I need to come up with a complex example that would force me into it :) _a -- alex black, ceo en...@tu... the turing studio, inc. http://www.turingstudio.com vox+510.666.0074 fax+510.666.0093 |