写代码啦
浅析 MVC
回复数(0) 浏览数(22)
{{topic.upvote_count || 0}} 编辑 回复
  1. MVC 三个对象分别做什么,给出伪代码示例
M: Model(数据模型)负责操作所有数据
const m = {
    data: {},
    create() { },
    delete() { },
    update() {},
    get() {}
}
V: View(视图)负责所有UI界面
const v = {
    el: null,
    // 初始化html
    html: `代码`  ,
    init(container) {
        v.el = $(container)
    },
    render(n) { }
}
C: Controller(控制器), 负责除了M和V的事情的其他事情.
const c = { 
    init(container){   } // 对绑定调用的对象设置runtime
    events: { },// 匹配使用哪个化方法
    方法1() {},
    方法2() {},
    方法3() {},
    }
}
  1. EventBus 有哪些 API,是做什么用的,给出伪代码示例

​EventBus 基本的 ​API 有 ​on (监听事件), ​trigger (触发事件), ​off (取消监听)方法。

用于模块间的通讯, ​view 组件层面,父子组件、兄弟组件通信都可以使 ​eventbus 处理
~~~
constructor(){
this._eventBus =$(window)
}
on(eventName, fn){
return this._eventBus.on(eventName,fn)
}
trigger(eventName,data){
return this._trigger.tiggger(eventName,data)
}
off(eventName, fn){
return this._eventBus.off(eventName,fn)
}
}
export default EventBus


3. 什么是表驱动编程
摘自《代码大全2》: 表驱动法是一种编程模式(scheme)——从表里面查找信息而不使用逻辑语句(if和case)。
1)事实上,凡是能通过逻辑语句来选择的事物,都可以通过查表来选择。
2)对简单的情况而言,使用逻辑语句更为容易和直白。但随着逻辑链的越来越发杂,查表法也就愈发显得更具吸引力。

events:{
'click #aa1':'add',
'click #minus1':'minus',
'click #mul2':'mul',
'click #divide2':'div'
},
add(){ m.update( data: {n:n +1}) },
minus(){ m.update( data:{n:n -1}) },
mul(){ m.update( data: {n:n *2}) },
div(){ m.update(data: {n:n /2}) }
~~~

  1. 如何理解模块化的
    模块化是为了更科学的提高生产力,摆脱无用的重复工作
    最小知识原则》》》添加中间层·解耦》》》提高代码复用率·》》》方便维护/更新/更换实现技术
{{topic.upvote_count || 0}}
  1. MVC 三个对象分别做什么,给出伪代码示例
M: Model(数据模型)负责操作所有数据
const m = {
    data: {},
    create() { },
    delete() { },
    update() {},
    get() {}
}
V: View(视图)负责所有UI界面
const v = {
    el: null,
    // 初始化html
    html: `代码`  ,
    init(container) {
        v.el = $(container)
    },
    render(n) { }
}
C: Controller(控制器), 负责除了M和V的事情的其他事情.
const c = { 
    init(container){   } // 对绑定调用的对象设置runtime
    events: { },// 匹配使用哪个化方法
    方法1() {},
    方法2() {},
    方法3() {},
    }
}
  1. EventBus 有哪些 API,是做什么用的,给出伪代码示例

​EventBus 基本的 ​API 有 ​on (监听事件), ​trigger (触发事件), ​off (取消监听)方法。

用于模块间的通讯, ​view 组件层面,父子组件、兄弟组件通信都可以使 ​eventbus 处理
~~~
constructor(){
this._eventBus =$(window)
}
on(eventName, fn){
return this._eventBus.on(eventName,fn)
}
trigger(eventName,data){
return this._trigger.tiggger(eventName,data)
}
off(eventName, fn){
return this._eventBus.off(eventName,fn)
}
}
export default EventBus


3. 什么是表驱动编程
摘自《代码大全2》: 表驱动法是一种编程模式(scheme)——从表里面查找信息而不使用逻辑语句(if和case)。
1)事实上,凡是能通过逻辑语句来选择的事物,都可以通过查表来选择。
2)对简单的情况而言,使用逻辑语句更为容易和直白。但随着逻辑链的越来越发杂,查表法也就愈发显得更具吸引力。

events:{
'click #aa1':'add',
'click #minus1':'minus',
'click #mul2':'mul',
'click #divide2':'div'
},
add(){ m.update( data: {n:n +1}) },
minus(){ m.update( data:{n:n -1}) },
mul(){ m.update( data: {n:n *2}) },
div(){ m.update(data: {n:n /2}) }
~~~

  1. 如何理解模块化的
    模块化是为了更科学的提高生产力,摆脱无用的重复工作
    最小知识原则》》》添加中间层·解耦》》》提高代码复用率·》》》方便维护/更新/更换实现技术
22
回复 编辑