
On Tue, 17 Feb 2004 01:51:17 +0000 (UTC) Matthew Vogt <mvogt@juptech.com> wrote:
Do you know what classes of apps use the active object pattern? The example in the Douglas Schmidt paper doesn't really provide much explanation for why you might want active local objects.
I think it makes good sense in what ACE is mainly used for: network based server applications. You can write your code inside an ACE_Task, and then it can be used in a reactor-type single threaded app, or it can be used with multiple threads, and for the most part, you can use the same code.
concerned with improving the code too much. It is a good feeling, though, to be typing in 'boost::' even more often than 'std::'... :)
<grin>
No, the fact is I can't grok how boost::function<> parses it arguments, and a working sketch was good enough for me. Now, if only I knew of a reason why I might want to actually *use* it...
I think it is beneficial for most tasks. However, like most paradigms, you have to slightly skew your point of view to see how it really applies. If you have experience doing multithreaded apps, or network based servers, or "sysv-streams-type" stuff, or message passing protocols, or task-based-components then you may be able to see that you can create an active object, which contains a certain amount of execution knowledge, and then that object can do its work, without knowledge of any specific threading mechanisms. You simply communicate via passing messages (e.g., through a message queue), and the active object itself knows how to interpret and handle the requests. Hmmm. Not very convincing is it ;-> -- Jody Hagins Let not the sands of time get in your lunch.