我对MVC的理解

139 阅读2分钟
  1. MVC

MVC是一种代码设计模式,M代表model,V代表view,C代表control,这种设计模式可以把一个复杂庞大的网页应用分解成为几个特定的部分,每个部分都有专门的用途。

  • M - model 数据模型

    M对象主要负责操作所有数据。

const Model = {
    data:{数据}
    create:{增加数据}
    delete:{删除}
    get:{查询/获取数据}
    update:{修改数据:
        用新数据替换就数据,并发出通知,重新渲染数据部分
    }
  • V- view 视图

    V对象负责展示页面信息。

const View = {
    el:显示内容的容器
    html:将要显示在页面上的内容
    init(){}初始化页面
    render(){}重新渲染页面
}
  • C - controller 控制 C对象是用于处理服务器端的请求,并控制M和V对象的控制器。C对象从来不直接处理数据和视图显示。
    const controller = {
        init(){
            获取初始数据
            初始化view页面
        }
        events:{
            用于控制M和V的事件;
            用于和服务器端通信的函数;
        }
    }
    
    
  1. EventBus

    EventBus 提供了on, off, trigger等API, on 用于监听事件,trigger 用于触发事件,off 可以取消监听。Eventbus 可以用于模块间的通讯。

    class EventBus { 
        constructor() { 
            this._eventBus = $(window) 
        } 
        on(eventName, fn) { 
            return this._eventBus.on(eventName, fn) 
        } 
        trigger(eventName, data) { 
            return this._trigger.trigger(eventName, data) 
        } 
        off(eventName, fn) { 
            return this._eventBus.off(eventName, fn) 
        } 
    }
    
  2. 表驱动编程

表驱动法就是一种编程模式——从表里面查找信息而不使用逻辑语句(if 和case),这是一种数据与逻辑分离的思想。这种编程方法可以减少重复代码,与逻辑语句相比,具有更稳定的复杂度。

  1. 我是如何理解模块化的

关于模块化编程的定义:模块化编程,是强调将计算机程序的功能分离成独立的、可相互改变的“模块”的软件设计技术,它使得每个模块都包含着执行预期功能的一个唯一方面所必须的所有东西。

根据我这一段时间对于编程的学习和理解,我认识到在复杂的大型项目里,模块化编程是一个高效解决问题的方法。模块化编程把整个程序的代码分开成各部分,各个部分通过接口互相联系使用,可以在面对不同需求的时候灵活、有针对性的进行实现,而非对整个代码进行重构;同时,模块化的代码便于调试和纠错,避免了在大段代码中错误的“牵一发而动全身”;而且,模块化编程的代码可以迁移复用,提高开发效率。