浅析 MVC

409 阅读1分钟

MVC三个对象分别做什么

EventBus的API,及作用

表驱动编程是做什么的

对模块化的理解

MVC三个对象分别做什么

Model 操作数据

View 表示视图

Controller表示控制器

Model 和服务器交互,Model 将得到的数据交给 Controller,Controller 把数据填入 View,并监听 View

var model = {
    data: null,
    init(){}
    fetch(){}
    save(){}
    update(){}
    delete(){}
}
view = {
    init(){}
    template:'<h1>hello</h1>'
}
controller = {
    view: null,
    model: null,
    init(view, model){
        this.view = view
        this.model = model
        this.bindEvents()
    }
    render(){
        this.view.querySelector('name').innerText = this.model.data.name
    },
    bindEvents(){}
}

EventBus的API,及作用

  • 在需要订阅事件的地方注册事件
EventBus.getDefault().register(this);
  • 发送消息
EventBus.getDefault().post(messageEvent);
  • 处理消息
@Subscribe(threadMode = ThreadMode.PostThread)
public void XXX(MessageEvent messageEvent){
    ···
}
  • 取消消息订阅
EventBus.getDefault().unregister(this);

表驱动编程是做什么的

表驱动法是一种编程模式(scheme)——从表里面查找信息而不使用逻辑语句(if和case)。
作用有:
  1. 提高程序的可读性
  2. 减少重复代码
  3. 降低复杂度
  4. 类似扩展接口的作用

对模块化的理解

将代码包装起来,暴露几个API接口,等需要的时候再调用API,以此节省不必要的重复