[wxPython] Doc/View Architecture

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

[wxPython] Doc/View Architecture

Winkelman, Jeff-2
I guess this is mostly directed to Robin.

I have been wondering why the Doc/View architecture was chosen for wxWindows
instead of going to a Model-View-Controller architecture.  After all the
complaints I heard regarding Doc/View, and having done a lot of programming
in MFC myself, I was disappointed when I learned that Doc/View was chosen to
be implemented in wxWindows.

Robin, do you have any thoughts as to why?  I am not very coupled into the
wxWindows design community, and thought that you may be familiar with the
history here.

==========================
Jeff Winkelman
Sr. Electrical Engineer
Home Wireless Networks
Ph:  770.729.3057
Email:  [hidden email]



_______________________________________________
wxPython-users maillist  -  [hidden email]
http://starship.python.net/mailman/listinfo/wxpython-users



Reply | Threaded
Open this post in threaded view
|

Re: [wxPython] Doc/View Architecture

Robin Dunn
>
> I have been wondering why the Doc/View architecture was chosen for
wxWindows
> instead of going to a Model-View-Controller architecture.  After all the
> complaints I heard regarding Doc/View, and having done a lot of
programming
> in MFC myself, I was disappointed when I learned that Doc/View was chosen
to
> be implemented in wxWindows.
>
> Robin, do you have any thoughts as to why?  I am not very coupled into the
> wxWindows design community, and thought that you may be familiar with the
> history here.
>

My guess is Doc/View is there mainly as a comfort zone for people coming
from MFC or who are just warped that way to begin with.  ;-)  It obviously
isn't an integral part of wxWindows as evidenced by the fact that it isn't
even part of wxPython yet!  (On the other hand, it's my understanding that
with MFC you can't do much beyond hello world without using Doc/View...)

I've been pushing the concept of MVC where possible in wxWindows, and it
will probably move that direction, slowly but surely.  wxWindows focus has
been on allowing cross platform use of native controls where possible or
reasonable facsimiles otherwise.  Higher level abstractions like MVC are
just at the edge of that focus currently.

On the other hand, (or is that the "gripping hand"?  [name that reference!])
it's not that difficult to implement your own MVC using wxWindows or
wxPython.  I've mentioned before that the new wxGrid is MVC (still in
process but getting close to usable,) and I just received a contribution of
a MVC Tree implemented in wxPython that I am reviewing.

--
Robin Dunn
Software Craftsman
[hidden email]
http://AllDunn.com/robin/
http://AllDunn.com/wxPython/  Check it out!



_______________________________________________
wxPython-users maillist  -  [hidden email]
http://starship.python.net/mailman/listinfo/wxpython-users



Reply | Threaded
Open this post in threaded view
|

Re: [wxPython] Doc/View Architecture

Charles Hixson
Niven and Pournelle, sequel to Mote in God's Eye.
I've been reading some criticism on the MVC paradigm recently (ref.:
http://www.javaworld.jw-09-toolbox_p.html et. seq.) and a lot of it sounds
reasonable.  If the points are valid, then perhaps MVC isn't the correct
choice.  Or there should at least be alternatives.  This has to do with the
entire idea of "What is an Object!", and what causes code to be maintainable.
Despite the page reference it doesn't have that much to do with Java per se (I
got pointed to it from a Dylan list, e.g.).

Robin Dunn wrote:

> >
> > I have been wondering why the Doc/View architecture was chosen for
> wxWindows
> > instead of going to a Model-View-Controller architecture.  After all the
> > complaints I heard regarding Doc/View, and having done a lot of
> programming
> > in MFC myself, I was disappointed when I learned that Doc/View was chosen
> to
> > be implemented in wxWindows.
> >
> > Robin, do you have any thoughts as to why?  I am not very coupled into the
> > wxWindows design community, and thought that you may be familiar with the
> > history here.
> >
>
> My guess is Doc/View is there mainly as a comfort zone for people coming
> from MFC or who are just warped that way to begin with.  ;-)  It obviously
> isn't an integral part of wxWindows as evidenced by the fact that it isn't
> even part of wxPython yet!  (On the other hand, it's my understanding that
> with MFC you can't do much beyond hello world without using Doc/View...)
>
> I've been pushing the concept of MVC where possible in wxWindows, and it
> will probably move that direction, slowly but surely.  wxWindows focus has
> been on allowing cross platform use of native controls where possible or
> reasonable facsimiles otherwise.  Higher level abstractions like MVC are
> just at the edge of that focus currently.
>
> On the other hand, (or is that the "gripping hand"?  [name that reference!])
> it's not that difficult to implement your own MVC using wxWindows or
> wxPython.  I've mentioned before that the new wxGrid is MVC (still in
> process but getting close to usable,) and I just received a contribution of
> a MVC Tree implemented in wxPython that I am reviewing.
>
> --
> Robin Dunn
> Software Craftsman
> [hidden email]
> http://AllDunn.com/robin/
> http://AllDunn.com/wxPython/  Check it out!
>
> _______________________________________________
> wxPython-users maillist  -  [hidden email]
> http://starship.python.net/mailman/listinfo/wxpython-users





_______________________________________________
wxPython-users maillist  -  [hidden email]
http://starship.python.net/mailman/listinfo/wxpython-users



Reply | Threaded
Open this post in threaded view
|

Re: [wxPython] Doc/View Architecture

Robin Dunn
> I've been reading some criticism on the MVC paradigm recently (ref.:
> http://www.javaworld.jw-09-toolbox_p.html et. seq.) and a lot of it sounds
> reasonable.  If the points are valid, then perhaps MVC isn't the correct
> choice.  Or there should at least be alternatives.  This has to do with
the
> entire idea of "What is an Object!", and what causes code to be
maintainable.
> Despite the page reference it doesn't have that much to do with Java per
se (I
> got pointed to it from a Dylan list, e.g.).
>

Your link is broken but I think I know which article you are refering to.
The first part is at
http://www.javaworld.com/javaworld/jw-07-1999/jw-07-toolbox.html.  I read
it, (the first part anyway) a couple months ago and most everybody I've
talked to about it since then have said something like, "It's a cool idea
but it will never work in real life."  Maybe, maybe not.  The jury is still
out.  (And I notice that I now have two installments of the article to catch
up on.)

MVC may have some warts, but it is extremly useful in some situations.
Doc/View makes my head hurt, but some people really like it.  The point is
that wxWindows and wxPython will try to allow you to do things your own way.
It's high enough of an abstraction so you don't have to worry about
nitty-gritty details, and low enough that you are not locked in to MVC,
Doc/View, or any other type of framework and are free to create your own.

Sorry for rambling...

--
Robin Dunn
Software Craftsman
[hidden email]
http://AllDunn.com/robin/
http://AllDunn.com/wxPython/  Check it out!



_______________________________________________
wxPython-users maillist  -  [hidden email]
http://starship.python.net/mailman/listinfo/wxpython-users



Reply | Threaded
Open this post in threaded view
|

Re: [wxPython] Doc/View Architecture

Charles Hixson
In reply to this post by Winkelman, Jeff-2
Sorry.  The correct url is:
http://www.javaworld.com/javaworld/jw-09-1999/jw-09-toolbox.html

Tom Jenkins wrote:

> > I've been reading some criticism on the MVC paradigm recently (ref.:
> > http://www.javaworld.jw-09-toolbox_p.html et. seq.) and a lot of it sounds
> > reasonable.  If the points are valid, then perhaps MVC isn't the correct
> Hi Charles,
> Could you please post the correct url?  I'd like to read the article.
> Thanks
>
> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
> Tom Jenkins                    DevIS (http://www.devis.com)
> python is executable pseudo-code; perl is executable line-noise,
> java is, well, java
> How about dem Hokies!  Go Hokies go! 6-0



_______________________________________________
wxPython-users maillist  -  [hidden email]
http://starship.python.net/mailman/listinfo/wxpython-users