ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Donald <>
Subject Re: Antidote Progress
Date Fri, 15 Dec 2000 00:34:10 GMT
At 02:40  14/12/00 -0800, Simeon Fitch wrote:
>--- James Cook <> wrote:
>> Thanks for the update. I really like the use of BeanInfo and the
>> ACSElements are
>> really top notch. I think your mechanism for parsing the build script is
>> very
>> elegant.
><Blush> Thanks for the compliment! I appreciate you taking a look at the
>code. It helps confirm that there is /some/ sanity in my design ;-).

I agree its damn fine ;)

>> I also really like your use of the Command pattern and the Event Bus in
>> the GUI.
>> Did you base this on your own knowledge or are there resources available
>> on the
>> web that discuss these techniques?
>I doubt that what I have done is unique, but it is definately based on my
>attending the "school of hard knocks". I haven't really run in to any
>articles on GUI application (meta-)architectures, as most of the stuff you
>see floating along seem to focus on the details of this widget or that. I'm
>cerainly interested in reading some if you have run across any.

You actually implement variations of patterns present in Avalon ;). There
are noteable differences. For instance your AppContext (which correlates
with Avalons concept of Context + a smidgen of ComponentManager) if it were
defined in Avalon would be passed to a component via

myComponent.contextualize( myAppContext );

This has a few advantages (one of them being that the components can now be
beans ;]). There are other remarkable similarities to some of the Avalon
based patterns. (ie you implement Inversion of Control and proper
Seperation of Concerns in many cases).

>The event bus approch is similar to one I took in an AWT application I
>wrote that was like a mini-MSProject; tasks represented graphically on a
>time line that you could click on to perform operations, etc. The command
>structure wasn't abstracted as well as it is in Antidote (or in Swing for
>that matter), but change events were certainly posted and delivered
>globally via the bus. 

another pattern you may wish to implement is making the bus hierarchial
thou not sure if the application is large enough to warrant that. Thou
priorirty levels are much simpler than anything I have seen before ;)



| "Faced with the choice between changing one's mind, |
| and proving that there is no need to do so - almost |
| everyone gets busy on the proof."                   |
|              - John Kenneth Galbraith               |

View raw message