UI Models

Gary McGovern gary.play at btopenworld.com
Sat Feb 16 12:44:36 UTC 2002


16/02/02 05:06:17, Ross Boylan <RossBoylan at stanfordalumni.org> wrote:

>I also have trouble following your original cutting up of the world,
>but I have a couple of comments that might be relevant.

Thanks Ross, 
I was beginning to think I'd recently been abducted by aliens until I referred to Mark Guzdials first 
book and most of the terms I used are at least mentioned in that book if not detailed (But he used 
GUI toolkit rather than toolkit or widget toolkit).

Perhaps I should cut it up a bit differently.
pluggable (page 147 of Mark Guzdial's first book)
"Three kinds ofpluggable components get used the most in Squeak....All three require a model to be 
specified for their use. Each provides a number of slots for selectors (messages to be sent to the 
model)..."

Somewhere else in the book, unforunately I can't find the page at this present moment. He mentions 
that the orchestrating instance and application model are old paradigms.

So therefore it logically follows that the pluggable component has as its model a direct object, and 
does not have all the vias of an application model or orchestrating instance.

Which makes me wonder why I'm asking this question if I already know.

But... what makes me ask the question is that the example domain model of the clock is quite a small 
domain model (page 143). And the clock class has the behaviour of an orchestrating instance even 
though it hasn't been called so. What if the domain model was larger and the clock wasn't behaving 
like an orchestrating instance. 

It means that an application model would have to be made or that my original question would be yes, 
pluggable components fit directly with objects in the domain.

Are orchestrating classes used in UML or are they obsolete altogether ?

Am I speakin' English.

Regards,
Gary


>First, although Morphs and some of the discussion of them seem to be
>oriented toward having a single object that is both a "model" and a
>"GUI", one can certainly use Morphs in a more classical MVC way.  That
>is, you build an interface out of Morphs, and hook them up with some
>underlying, non-graphical model.  I've been doing this myself, and it
>works fine.
>
>Second, the work with Morphs and players is pointing toward a
>different paradigm, involving tiles, scripting, and direct
>manipulation.  I haven't played with that too much.
>
>Third, there are two different approaches to keeping all the models
>and views in sync.  Morphs have a quality called "liveness", in which
>they periodically update themselves (see the #step method). The more
>traditional way is for a dependent ("view") to register itself with a
>"model" and ask the model to inform it when things change.  There are
>2 generations of that approach.  The classical smalltalk one uses
>update/changed messages.  The newer one uses events, and messages like
>#when:send:... and #trigger.  
>
>The event framework is more aesthetically pleasing to me because it
>allows you to send arbitrary messages (rather than just #update) when
>something happens.  The classical update/change processing usually
>begins with the receiver doing a switch on the "aspect" argument that
>has changed to discover what is going on, which is a little ugly.
>
>I have found there is a noticable overhead with the stepping if you
>have lots of objects (even if they don't step--just going through the
>list of candidates takes time).
>
>






More information about the Squeak-dev mailing list