@MVC is about people and their mental models—not the Observer pattern
This is the most pretentious, long-winded, non-scientific article written by academics imaginable.
"Hey, you foolish practitioners, you are ignoring the user."
First off, their real world example is AWFUL and they're discredited on that basis alone. And I quote:
@2. System displays valid accounts
WHAT? Are you seriously going to put a System class in your problem domain analysis classes? That will adversely affect the gross application structure, which is SUPPOSED to directly reflect the problem domain. You are sharing server-side concerns with the client. Why stress your network that much? This example basically mimics many awful ATM controller software examples in various books alleging to teach OOA.
I will stick with Allen Holub's brilliant criticism of MVC: It is fundamentally not OO, because of Controllers. Object-oriented programs should RENDER THEMSELVES. Objects should be able to render themselves. Not being able to meet this constraint is an obvious code smell that you should clean up. This code smell is typified by frameworks like Struts.
This is actually why understanding how real-time OO engineers apply OO can be so helpful to enterprise programmers. Once you start thinking in real-time terms, chatty protocols become obviously unacceptable. The fact they deal with subsequences at the application protocol level is an analysis smell: You're coding low-level details at the highest layer of your architecture, which will make it impossible to stabilize design, forcing recompilation. Today, most MVC approaches use IoC containers and pluggable architectures to try to skip as much recompilation as possible, but mentally they're still recompiling.
My designs are pretty stable, although I refuse to call them MVC, because of the use of Controllers. My objects render themselves - they don't expose implementation details simply so that a delegate can render for them. And you know what? I rarely recompile these days.
The much bigger question is how to build OO systems based on REACTIVE MODELS. Reactivity gives you a direct mental model for any user.
Flat View: This topic has 119 replies
on 120 pages
[
«
|
789101112131415
|
»
]