什么是Interface-Compute模式?

时间:2012-07-31 21:09:32

标签: javascript model-view-controller design-patterns

我最近看到很多关于这种特定模式的“推测”和小谈(自从我开始学习 Dojo工具包),但在这个问题上找不到任何明确的信息。有人说,它是经常和“有害”(他们,而不是我)MVC模式的解决方案。我列出了一些由Interface-Compute解决的MVC“常见”大图片问题。我找到this site并阅读了相关内容,但却无法全面了解利弊。

输入/输出

视图组件被定义为静态组件,从不直接接受来自用户的输入。这就是说,对用户输入的反应由与呈现用户刺激不同的组件处理。但GUI编程环境并没有以这种方式在输入和输出组件之间划出明确的界限:精心设计的GUI编程环境被组件化为嵌套的用户界面功能容器。

忽略浏览器

如果我们考虑支持构建所谓的“富Internet应用程序”的Web应用程序框架,整个框架都驻留在服务器上,因此,显然视图和控制器都在服务器上实现。这使浏览器完全不在设计模型中。如果这是我们对设计的精神图景,那么浏览器的功能就像具有良好输出功能的终端一样。

等...

我只是想知道所有的JavaScript开发,比如Dojo Toolkit,Node.js和其他一些用于光滑服务器端代码的开发(我想我们可能会进入这种时代并重新思考我们在服务器端做的方式) PHP,Java,Ruby on rails等代码。此外,您可以在浏览器中调试服务器端和客户端代码,这很酷!

1 个答案:

答案 0 :(得分:1)

我快速阅读了您提供的链接,以找出报价的背景。我强烈感觉作者对MVC和面向对象知之甚少。

模型和视图是对象的集合/类别/域。每个对象都是完全自包含的,应遵循OO原则。 Controller提供View对象方法与Model对象进行交互(因为通常,一个动作会改变许多协作模型对象,这可能很复杂。)

Interface-Compute提供的解决方案:

  

例如,如果检测到鼠标单击是在一个单独的组件中实现的,而不是显示的组件   按下或按下按钮,然后必须构造一些非平凡的机器来在两者之间进行通信   按钮上发生鼠标单击时的组件。当鼠标输入识别和按钮时,此问题消失   演示文稿在同一个组件中实现。

实施OO原则有很多好处。这似乎完全错过了。所以我只能说,如果他不想用对象编码,MVC可能不合适。