DO UI Patterns
DO UI Patterns
- Subject: DO UI Patterns
- From: Timothy Ritchey <email@hidden>
- Date: Fri, 26 Apr 2002 10:53:14 -0500
I am working on an analysis package, and working on a design for
plugins. If you grab the 5.dmg application image at:
http://homepage.mac.com/tritchey
you can see a beginning prototype. If you select the blue cube in the
toolbar, a palette of objects opens. These objects are all in a bundle
that is developed separate from the application, and they communicate
right now using a protocol and a default plugin factory in the bundle.
The only object that does anything right now is the Import object. If
you drag it into the upper view, and then select it, a view for the
object is loaded in the lower pane. This view exists in a NIB in the
plugin bundle. Ultimately, you will be able to drag multiple objects,
connect them together (much like IB, or AVS if anyone remembers that
program), and do some drag-and-drop analysis.
At the moment, everything is running as a monolithic, single-threaded
application. Ideally, I would like each plugin object running in its own
thread, interacting using distributed objects. DO would also allow DnD
of objects residing on multiple machines, so that you might pull in data
from one machine, use a back-end server/cluster to do the number
crunching, and visualize locally.
I have two issues I am trying to work out:
a) Will I incur a penalty if I just use a generic vending mechanism for
both local and remote objects? That is, if the local objects are just
running in different threads in the application, but I vend them using
the defaultConnection, instead of connectionWithReceivePort:sendPort: as
is suggested, will I take a hit? I am thinking of CORBA-like
optimizations when objects are in the same address space.
b) Is there a pattern for passing view objects from a distributed object
to the main application (since we want all UI stuff running in one
thread right)? can I just have a method in my protocol called:
- (NSView*)view;
grab the view the object wants to export, and away we go? The main app
thread is where the view should reside, but it is being controlled by
the distributed object. Is there any suggested reading on this.
I am trying to get a feel for the "right" way to handle this before I
develop too much of this code.
Cheers,
tim
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.