Re: Auto selection
- From: Laurent Bossavit <laurent@xxxxxxxxxxxxxxxxxxxx>
- Date: Fri, 24 Nov 2006 12:15:02 +0100
Robert,
Yeah, I think I've got it. But sometimes, I think, you cannot avoid
another dialog.
Recommended reading: Alan Cooper's /About Face 2.0/
Think about meeting the users' goals first, OO design second.
This makes more sense than you might think at first - your "internal"
design is good to the extent that it allows you to accomodate small
changes in user goals at the expense of correspondingly small changes in
code. (Bertrand Meyer's criterion of continuity.)
If your UI design cuts across the grain of user goals in the first place
you will achieve this criterion occasionally, by accident; what you want
is to achieve it reliably, by design.
Returning to your original question I suggest a small change in your
thinking about "model" and "view": there might be more than one of each
layer.
For instance your "business model" is about what things exist and how
they relate to each other: projects and files, employees and
departments. Related to that is a conceptual model of how users interact
with the business model: there is a "workspace" within which one
container thing is "open" for modifications, and in which you can
"select" contained things to "change" them. Well, this is an abstract
model - you could call it the "interaction model" - which could be
realized in different implementations (desktop PC, pocket PC, web app,
etc.).
So, your tree view talks to the interaction model, which in turn talks
to the underlying business model. "Create new file" sits at the
interaction level; it tells the interaction model "We want a new file
created with these properties". The interaction model propagates this to
the business model, updates itself to note that the newly created file
has become the current selection (this is an "interaction rule") and
notifies its dependent views that something has changed. The views,
including the tree view, query the interaction model for "what things
exist" but also "what is the current selection".
Laurent
.
- References:
- Auto selection
- From: tailorma_de
- Re: Auto selection
- From: Dmitry A. Kazakov
- Re: Auto selection
- From: tailorma_de
- Re: Auto selection
- From: Dmitry A. Kazakov
- Re: Auto selection
- From: tailorma_de
- Auto selection
- Prev by Date: Re: Command pattern: Interaction allowed?
- Next by Date: Re: Auto selection
- Previous by thread: Re: Auto selection
- Next by thread: Re: Auto selection
- Index(es):
Relevant Pages
|