什么是MVC,在此之前一点不懂,通过课程我的理解就是:封装
只是将代码分成三块(M,V,C)进行封装。这样理解起来就明白多了
MVC 三个对象分别做什么,给出伪代码示例
M(mode):模型model用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法,会有一个或多个视图监听此模型。一旦模型的数据发生变化,模型将通知有关的视图。
const m={
data:{ }
}
V(view):视图view是它在屏幕上的表示,描绘的是model的当前状态。当模型的数据发生变化,视图相应地得到刷新自己的机会。
const v={
container: ;
html:``;
}
C(controller):控制器,用于存储其他内容,定义用户界面对用户输入的响应方式,起到不同层面间的组织作用,用于控制应用程序的流程,它处理用户的行为和数据model上的改变。`
const c={
init:{}
bindEvents:{};
}
EventBus 有哪些 API,是做什么用的,给出伪代码示例
在介绍EventBus的API之前先介绍下,什么是EventBus
EventBus能够简化各组件间的通信,让我们的代码书写变得简单,能有效的分离事件发送方和接收方(也就是解耦的意思),能避免复杂和容易出错的依赖性和生命周期问题。
有三个API
- eventBus 提供了 on、off 和 trigger 等 API,on 用于监听事件,trigger 用域触发事件
- eventBus 主要用于对象间通信
使用 eventBus 可以满足最小知识原则,m 和 v 互相不知道对方的细节,但是却可以调用对方的功能
on:监听函数
trigger:触发函数
off:取消监听函数const e= new EventBus; e.on(); e.trigger() e.off();
表驱动编程是做什么的(可以自己查查资料)
表指的是哈希表
表驱动编程可以减少重复代码,只讲重要的信息放在表里,然后利用表来编程json数据->html结构->css样式->js交互->页面通信
可以把json数据当作参数,html模板当作参数,放入一个约定函数,来生成html结构。
这样可以防御json数据结构的变化,或html结构变化。
也就是说,函数就是映射。
映射就是表,从而函数就是表。
代码流程有顺序,分支,循环。
其中分支和循环,存在映射。其中循环还存在自映射。
既然有映射,那么它就是函数。分支,循环都是函数。、
怎么写出,可扩展,易维护的分支,循环语句呢?
用表。
我们崇尚代码生成代码,函数生成函数,这样就不容易写出出错的代码。
于是,我们用函数生成表,用表生成函数。
参考文章
我是如何理解模块化的
模块化其实很简单,就是将东西分类装在盒子里,然后在盒子外面标上号,用于使用方便
比如有一堆水果,有苹果,橘子,香蕉,火龙果等
有人喜欢吃苹果,需要在这堆水果里面捡苹果吃
有人喜欢香蕉,需要从这堆水果里面捡香蕉吃
但是如果把水果分类放进盒子里并标上名称
想吃的人就可以直接去相应的水果箱子里拿
模块化使代码更清晰,容易读懂。