[Tutor] designing POOP
keridee at jayco.net
Fri Feb 15 04:36:44 CET 2008
> Now I'm curious.
> MVC is one of the oldest, best established and well proven design
> patterns going. It first appeared in Smalltalk in the late 1970's and
> has been copied in almost every GUI and Web framework ever since.
> I've used it on virtually(*) every GUI I've ever built(**) to the
> extent that
> I don't even think about it much anymore, therefore:
> What do you dislike about it? And what do you use in its place?
I may not be the most newbie around here, but I am certainly very newbish
compared to you and Kent. That means that I do not have perhaps an adequate
amount of experience in practical application, but I dislike the concept
because in every situation that I have encountered so far, it has tripped me
up. I like things to be explicit, and don't care for the level of
abstraction common in MVC. I know it seems naive, but I like to be able to
model object designs after tangible things, and to me, a View does not know
how to keep a state or execute methods because it does not exist. A
Controller does not exist alone of the model, and without the view it fails
to work. Sure it helps tremendously in interchanging code pieces-reusability
a big issue here, but for my purposes, it just seems extraneous.
Seperating drawing and computations can be/cannot be convenient for me
depending on the application, (my 'plotting' library is a code reusability
mess) but in general my style of coding (more procedural) tends to get the
job done and also tends to cut corners in just enough places to make me feel
that the application is more efficient with resources.
Asking what I use in its place very neatly makes me blush because I use no
set model, but tend to mix them at my convenience. Have you noticed that I
haven't posted code on this list in a long, long time??? Hehe.
At any rate, I had noticed that I stepped past my line of authority and
experience to the point at which I was significantly less capable to pose as
an expert, and therefore I wrote "everyone but me would be wise to use it".
> (*)The only exceptions were ObjectVision, a strange graphical
> Windows app builder from Borland and a weird scripting language for
> very early X Windows toolkits(X10), which looked like csh and produced
> truly ugly GUIs very quickly. And, of course, native Tcl/Tk has a
> different model.
> (**)Those include GUIs built in Smalltalk, Lisp, TurboPascal, Delphi,
> C/C++, ObjectiveC, Java, Python (of course) and even PL/SQL
> An alternative perspective is always interesting.
> Alan G.
More information about the Tutor