osdir.com


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Is MVC Design Pattern good enough?


> > The most intuitive approach to database applications would be:
> >
> > http://en.wikipedia.org/wiki/Naked_objects
> > http://www.nakedobjects.org/
> >
> > [...]
> >
> > Unfortunately, there's no Python framework (yet?) that implements
> > this design.
> 
> It could be a blessing in disguise. Too often people encumber simple
> concepts with frameworks.

The point is that frameworks (for this kind of application) (should)
allow people who are not computer scientists but domain specialists to
implement useful applications. 

Which makes sense since especially in the domain of typical "business"
applications, since it's much easier to teach a reasonably
computer-literate domain specialist a programming language that's
user-friendly such as Python and a user-friendly framework, instead of
teaching a software developer the knowledge of the application domain.

So the computer scientist(s) designs and implement the framework, and
the domain specialist(s) implements the domain-specific application
logic.

The "naked objects" concept makes this especially intuitive since all
the domain-specific application logic is in the "business objects". And
since you don't need to implement anything else besides these to get a
functional application.

Unfortunately, the developer of the naked objects framework has chosen a
language that is pretty bad in terms of "usability" for domain
specialists; Java. And it sucks for GUIs, too. C# isn't much better,
expecially since it's limited to a pathologic non-operating system.

Python could demonstrate the interest of this concept much better than
the existing Java and C# implementations, not only because it's much
better suited to non-computer scientists, but also because it's more
cross-platform than C# and better for GUIs than Java.

Another important aspect of "naked objects" is about reducing the
amount of code that needs to get written to implement a given
functionality. Python is definitely more efficient here than Java and
C#.

In short; Python would be the perfect choice of implementation language
for such a ("naked objects") framework.

Unfortunately with all that hype about "web applications", there is
little focus today on (frameworks for) applications that are actually
useful for end-users who have to get real work done with the computer. 

Sincerely,

Wolfgang