ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Simeon Fitch <>
Subject Re: Antidote Progress
Date Thu, 14 Dec 2000 22:40:13 GMT

--- 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 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.

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. 

Then the next GUI application I wrote I didn't use an event bus, but had a
better data model that was fully JavaBean compliant. What I ended up with
was a mess; all sorts of listeners registering with each other so that they
could update their state or view based on some other change in the model. I
regretted not using the event bus approch. So with Antidote I made a second
pass at the approch again, coupled with a strongly JavaBean compliant data
model. Hopefully this will be the best of both worlds.

The EventBus approach is not all that different from InfoBus, except that
it is an order of magnitude simpler, and doesnt' support point-to-point
event dispatching. And so far, that simplicity hasn't been a problem. ;-)
The "interrupt level" concept is still an experiment.

Again, thanks for checking out the code!


Mustard Seed Software

Do You Yahoo!?
Yahoo! Shopping - Thousands of Stores. Millions of Products.

View raw message