Javascript 面向对象代码与MVC模式-初始化页面时应遵循哪种模式?
R: 如本协议所述,它们不是相互排斥的 这是一个与此相关的具体问题,更具一般性 但是,假定控制器路由来自用户的所有呼叫。我通过初始化元素(设置addEventListener)并让它们调用模型来实现这一点 例如:(来自我的控件对象) 但随着我的网站的发展,我的控制器越来越大 我可以做的一件事是将初始化移到它各自的模块中。例如,我的登录逻辑位于名为ModelType的对象中。初始化在对象控件中 为了减小控件的大小,我可以将初始化移到ModelSignIn中 或者我可以将控制器对象分解为多个对象—ControlPage1、ControlPage2等 哪种方式最好,或者哪种方式最好?Javascript 面向对象代码与MVC模式-初始化页面时应遵循哪种模式?,javascript,library-design,Javascript,Library Design,R: 如本协议所述,它们不是相互排斥的 这是一个与此相关的具体问题,更具一般性 但是,假定控制器路由来自用户的所有呼叫。我通过初始化元素(设置addEventListener)并让它们调用模型来实现这一点 例如:(来自我的控件对象) 但随着我的网站的发展,我的控制器越来越大 我可以做的一件事是将初始化移到它各自的模块中。例如,我的登录逻辑位于名为ModelType的对象中。初始化在对象控件中 为了减小控件的大小,我可以将初始化移到ModelSignIn中 或者我可以将控制器对象分解为多个对象—C
将初始化移到相关对象中的一个好处是,现在该对象是自包含的,您可以将其复制粘贴到其他应用程序中。不利的一面是,这似乎打破了MVC模式。因为已经好几天了,没有其他人给出答案,我将尝试一下。 虽然我没有尝试将MVC模式与JavaScript结合使用,但我已经将其用于PHP,因此它可能也适用于您的框架 对于我在PHP中设计的MVC,我使用htaccess通过加载默认控制器(基本控制器框架)的索引路由所有PHP文件,然后使用请求的文件名查看是否存在任何子控制器(可能覆盖或不覆盖默认控制器的某些函数或属性) 控制器将加载默认模型和视图(以及与请求页面相关的任何子模型/子视图) 我用它来防止主控制器变得混乱。也许这不是一个真正的MVC模式,但在过去的5年左右的时间里,它为我提供了很好的服务
因为已经好几天了,没有其他人给出答案,所以我要试一试。 虽然我没有尝试将MVC模式与JavaScript结合使用,但我已经将其用于PHP,因此它可能也适用于您的框架 对于我在PHP中设计的MVC,我使用htaccess通过加载默认控制器(基本控制器框架)的索引路由所有PHP文件,然后使用请求的文件名查看是否存在任何子控制器(可能覆盖或不覆盖默认控制器的某些函数或属性) 控制器将加载默认模型和视图(以及与请求页面相关的任何子模型/子视图) 我用它来防止主控制器变得混乱。也许这不是一个真正的MVC模式,但在过去的5年左右的时间里,它为我提供了很好的服务
signin_input.addEventListener( "keypress", function( event )
{
if( event.keyCode === 13 )
{
new ModelType( 'signin' ).invoke();
return false;
}
}, false );