From: Justin F. <je...@ey...> - 2001-07-14 19:54:39
|
Alex: First of all, please do not consider this something like pressure. But, this question(s) which I will pose may be relevant to others on this list that are also in a module writing frenzy. Experience that we have had and question that have arisen may be useful to expose. It seems to me, firstly, that one of the "arts" that will be acquired to exploint the huge potential of BC is the knack for isolating the functionality of a module to the just-right-level, nothing really different that the difficulty in OOP of designing a class effectively. Now we are writing/testing/learning BC by writing modules for an Intranet. There will be dozens or hundreds of different reports, and so we break down these reports to kind of three things: 0. A data fetcher // unique, db's etc ------------------ 1. A selector // general 2. A lister // general 3. A pager // general with which one can bolt together any report on any set of data quickly, as well as serve as pieces for a dynamic report generator. The goal is that these are so generally written that these will be the only three modules needed for any and all reports. Immediately, and I mean immediately, inter-module communication is necessary, as the Selector has to pass in a data structure of data to the Lister, and the Selector also has to make some kind of method call with a data structure argument that sets up the list in certain kinds of formats/look/ feel. Then the Pager has to control how many rows to display, and a kind of control data structure has to be passed around. Whew, all of this "works". But these damn data structures are "hand crafted" at this moment and easily "forgotten" and so there are a lot of nuisance errors. Jason and I keep thinking, "Waaall, this Entity Manager is going to solve our problem." It is not clear, understandably, just what the Entity Manager is going to do. The words in the documentation make sense, but specifically, 1. Will we be able to define a data structure with it like, externally in XML, and then refer to this as what we want to pass around in certain places? 2. Or, will data structures have to be defined in each program "by hand"? 3. Are "easy" declarations even going to be a part of the Entity Manager. 4. Many other questions... I just don't know what this animal is going to offer. For certain, what I feel a need for is a facility that "fixes" somehow, certain data structures, makes them easy to declare, and fill, and allow us to have a "standard" set of them, so I can tell, say, Jason, to write this or that module and make sure you use the FOOBAT data structure as the formal argument to $NewModule->some_setup_method($FOOBAT_TYPE); Lordy, I hope this is what will be possible. If not, then I might be forced in to add this kind of convenience. At the present state of things, one gets tired easily at this level of complexity. _jef PS: And when is a first cut of Entity Manager likely???? PPS: If we want anything "next", it is Entity Manager. -- Justin Farnsworth Eye Integrated Communications 321 South Evans - Suite 203 Greenville, NC 27858 | Tel: (252) 353-0722 |