美文网首页
什么是MVC

什么是MVC

作者: Nelson_sylar | 来源:发表于2018-12-03 12:44 被阅读0次

    MVC全名是Model View Controller,是一种软件设计模式

    其中可分为模型(model)-视图(view)-控制器(controller)三要素,

    1. 模型(model),模型的主要作用为数据的接受和发送设定规则。
    2. 视图(view),即用户接触的部分,用户看到并与之交互。
    3. 控制器(controller),控制器接受用户的输入并调用模型和视图去完成用户的需求,所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。
      当用户与试图发生交互时,实际发生了下列过程


    即:

    1. 控制器(controller)监听视图(view).
    2. 用户与视图(view)交互,通知控制器(controller)调用模型(model)再请求服务器(server).
    3. 从而服务器(server)响应给模型(model),再返回数据给控制器(controller)再更新视图(view).
    4. 控制器(controller)回到监听状态.


    它的大致结构为:
    • 把main.js之类的js文件根据功能划分成若干模块,
    • 对于每个模块,都用mvc模式,后面可用面向对象完善
    • 先用立即执行函数!function(){内容}.call(),将内容包裹起来,减少空间使用,若需要js之间的互相调用
      可用window.xxx来命名内部变量即可。
    • 举个例子:
    !function(){
    var view=document.querySelector('.leaveMessage')
        var model={
            init:function(){
                ...
                });
            },
            get:function(){
                ...
            },
            set:function(){
                ...
                  })   
            }
        }
        var controller={
            view:null,
            model:null,
            myForm:null,
            init:function(view,model){
                this.view=view
                this.model=model
                this.myForm =view.querySelector('#xxxxxx')
                this.model.init()
                this.loadMessage()
                this.bindEvents() 
            },
            bindEvents:function(){
            ...
            },
            loadMessage:function(){
            ...         
            },
            saveMessage:function(){
            ...       
            }
        }
        controller.init(view, model) 
        
    }.call()
    

    相关文章

      网友评论

          本文标题:什么是MVC

          本文链接:https://www.haomeiwen.com/subject/vpcycqtx.html