Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
面向Ajax的JavaScript的MVC替代方案_Javascript_Model View Controller_Design Patterns - Fatal编程技术网

面向Ajax的JavaScript的MVC替代方案

面向Ajax的JavaScript的MVC替代方案,javascript,model-view-controller,design-patterns,Javascript,Model View Controller,Design Patterns,因为Ajax是异步的,所以会导致逻辑划分。这是我的控制器模块。 所有对服务器的数据请求都通过这里,然后返回这里 function cType( type ) { var object_pipe = MType[ type ].pre(); if ( object_pipe !== 'complete' ) { var string_pipe = JSON.stringify( object_pipe ); cMachine( 'pipe=' + s

因为Ajax是异步的,所以会导致逻辑划分。这是我的控制器模块。 所有对服务器的数据请求都通过这里,然后返回这里

function cType( type ) {
    var object_pipe = MType[ type ].pre();
    if ( object_pipe !== 'complete' ) {
        var string_pipe = JSON.stringify( object_pipe );
        cMachine( 'pipe=' + string_pipe , function( text ) { // cMachine is an ajax Call - here is the asynch call back
            MType[ type ].post( text ); 
        } );
    }
}
我创建了下面的模块结构,这样由ajax的异步特性分割的“空间”现在就可以组合回一个对象文本
pre()
指ajax调用之前,
post()
指ajax调用之后

/**
 **  MABAdder
 */
MType.MABAdder =
{
    pre : function() { // some logic and view elements called here
    },
    post : function( string_pipe ) { // some logic and view elements called here
    }
};
这个结构工作得很好,只是现在我从模型中调用视图,这在技术上打破了MVC模式

然而,代码是整洁的、有组织的,并且具有良好的伸缩性

这是否违背了健壮代码的核心原则

对我来说,创建一个与ajax的异步特性兼容的模式,然后遵循严格的MVC模式更有意义

这是一个可接受的框架吗

这个结构工作得很好,只是现在我从模型中调用视图,这在技术上打破了MVC模式

然而,代码是整洁的、有组织的,并且具有良好的伸缩性

这是否违背了健壮代码的核心原则

如果模型对象要求视图对象正常工作,则选择“是”

从上面的例子中,我不确定你认为模型和视图是什么?

模型是对象的集合/域。它们是完全独立的,具有完整的数据和行为

视图是另一个对象域,也是完全自包含的。视图域的一个示例是一个网页,其中包含类等的对象

异步应该对MVC没有影响

这个结构工作得很好,只是现在我从模型中调用视图,这在技术上打破了MVC模式

然而,代码是整洁的、有组织的,并且具有良好的伸缩性

这是否违背了健壮代码的核心原则

如果模型对象要求视图对象正常工作,则选择“是”

从上面的例子中,我不确定你认为模型和视图是什么?

模型是对象的集合/域。它们是完全独立的,具有完整的数据和行为

视图是另一个对象域,也是完全自包含的。视图域的一个示例是一个网页,其中包含类等的对象

异步应该对MVC没有影响