浅析MVC

MVC的三个对象

M-model(数据模型)负责操作的所有数据

V-view (试图)负责所有UI的界面

C -controller(控制器)负责其他

EventsBus API

eventBus对象间通信

const eventBus = $(window)

update(data){

    Object.assign(m.data,data)

    eventBus.trigger('m updated')

}

当调用了update方法之后,我们用eventBus.on('m updated',()=>{render(m.data.n)})监听

表驱动编程

表驱动编程的意义在于逻辑与数据的分离

表驱动方法是一种使你可以在表中查找信息,而不必用逻辑语句(if或else)来把他们找出来的方法,事实上,任何信息都可以通过表来挑选。在简单的情况下,逻辑语句往往更简单而且更直接,但随着逻辑链的复杂,表就变得越来越有吸引力了

const c = {


    events: {
        'click #add1':'add',
        'click #minus1': 'minus1',
        'click #mul2': 'mul2',
        'click #divide2':'div'
    },
    add() {
        m.data.n += 1;
    },
    minus() {
        m.data.n -= 1;
    },
    mul() {
        m.data.n*=2
    },
    div() {
        m.data.n /= 2
    },
    autoBindEvens() {
        for (let key in c.events) {
            const value = c[c.events[key]]
            const spaceIndex = key.indexOf(' ')
            const part1 = key.slice(0,spaceIndex)
            const part2 = key.slice(spaceIndex + 1)
            v.el.on(part1,part2,value)
        }
    }
}

我是如何理解模块化的

利用最下知识原则,整个项目下的不同模块互补相干,只做好自己的事,极大程度上简约了各个模块上的共同代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值