[linux-audio-dev] Re: MVC
fons.adriaensen at alcatel.be
Mon May 12 04:11:01 UTC 2003
On Sat, May 10, 2003 at 10:50:00PM -0400, Paul Davis wrote:
> no. they have no idea who the views are, how many there are, nothing.
> otherwise, adding new views means changing the model. ditto for controllers.
> if you're used to Qt, you're used to using signals/slots for
> anonymous communication between objects. Qt's version of this is not
> quite as clean as libsigc++, but they are both semantically
> equivalent. when the model raises a signal, it has no idea which slots
> are connected to it. there might be none, or 10,000 ....
> thats the essence of MVC.
Apart from the requirement already pointed out by Paul that all widgets must
be fully 'controlable' by program code and not only by user actions, there
is in fact little relation between MVC and the GUI. The confusion arises
in part from the fact that most toolkits try to provide a solution to two
problems that better remain separated: visual presentation and program
architecture. For MVC, the latter must be correct.
I've been using the MVC principles quite strictly for years in our products,
but it was only when I heard Paul's presentation in Karlsruhe that I knew
it had a name. A typical TT&C equipment (used to send commands to satellites,
to receive telemetry and measure distance) can be controlled by:
1. a technician in the equipment room
2. an operator in the ground station central control room
3. various programs running automated operational procedures
4. a satellite or operations control center at the other end
of the world,
All of these are viewers and /or controllers, and in many cases there isn't
even a GUI. They all use the same protocol wich is text based, so if
everything else fails, you can login with telnet and control the equipment
via the command line.
More information about the Linux-audio-dev