> Hello again everyone,
>
> I am trying to decide between to different designs that will accomplish
> the same task.  And I was just wondering if it was possible (or even
> recommended) to do.
>
> Here's the situation via an example:
>
> - I wish to have a wrapper object that will manage a linked list of data.

Protected type around a list (any old list will do).
Booch probably already has a protected type queue.

> - I have an object that will need to call upong the Wrapper object's
> methods to insert, delete and manipulate data inside that linked list.

Task

> - I have another object that will need to take the contents of the wrapper
> object's linked list and process them.

Task - sounds like it might overlap some with the task above.

> - Finally I have another object that will need to take the processed
> linked list and send it say to a serial port.

Task

> In essense, I'm assuming I can do this be either declaring 3 dlls for each
> of those objects plus the dll for the wrapper object with the linked list
> making the methods open to the outside world.
>
> Or I can declare a bunch of Tasks that could potentially be a task for
> each of the jobs I need done on the linked lists and execute them
> asynchroneously in a controlled environment.
>
> Only 2 criteria for making this decision.
>
>    1. I would like the most speed possible.
>    2. The most reliable possible.
>
> Which method would you recommend?

Stay platform independent, less complex, easier to maintain, and more
reliable.
Use the Ada tasking model and a protected type.
The tasks will be at least as fast, if not faster, than the DLLs.

My $.02.
Frank