MVC 三个对象分别做什么
MVC 是软件工程中的一种架构模式。
- M (model):指的是模型,表示为业务数据模型。是用于处理数据逻辑的部分。
- V (view):指的是视图,表示的是页面或程序处理数据显示的部分,不管是可交互的网页页面,火箭的客户端界面。
- C (controller):负责控制,不管是控制数据的读取,用户的输入,数据的发送等等。 伪代码:
const m={
data:n
}
const v={
html:m.data
render(xxx){}
}
const c={
click:m.data+=1
}
v.render(v.html)
c.click
v.render(v.html)
eventBus 有哪些 API,是做什么用的
常用的 eventbus 的 api 有on, trigger,off 这三种。
const eventBus = jquery({window})
eventBus.on() // 监听事件
eventBus.trigger() // 触发事件
eventBus.off() // 取消事件
伪代码:
const EventBus=jquery({window})
const m = {
data:n update(data) { EventBus.trigger("data:updated") }
}
const v={
html:m.data
render()
}
const c={
EventBus.on("data:updated", () => {
v.render(m.data); EventBus.off("data:updated")
}
init:m.update(data)
}
}
表驱动编程是做什么的
表驱动方法,出于特定的目的来使用表,使得你可以在表中查找信息,而不再使用很多的if else 语句。
function weekday(day) {
if(day&7===0){
return '星期天';
}
else if(day%7===2){
return '星期二';
}
else if(day%7===3){
return '星期三';
}
else if(day%7===4){
return '星期四';
}
else if(day%7===5){
return '星期五';
}
else if(day%7===6){
return '星期六';
}
}
根据“事不过三”原则:
同样的代码写三遍,就应该抽成一个函数。同样的属性写三遍,就应该做成共有属性(原型或类)同样的原型写三遍,就应该用继承上面的代码使用表驱动编程
function week(days){
let weekdays=['星期天','星期一','星期二','星期三','星期四','星期五','星期六'];
return weekdays[days%7];
}
如何理解模块化
模块化,就是自上而下的将一个复杂的问题分解成若干个小问题(小模块)的过程。一个项目、程序或页面,都可以将其各个功能分解成模块,模块化之后,一个一个小的模块更好处理,而且彼此相互独立,互不影响;各个模块组合在一起,形成一个功能或系统。