发表于: 2022-01-04 20:25:15

0 694


今天完成的事情:

看知识点
明天计划的事情:

继续看知识点

遇到的问题:

 Angular问题
收获:

怎样深入了解和学习前端 MVC 架构?


  1. 可以由不同的人并行推进对model和view的内部实现,而不关心对方怎么实现,只管负责自己内部的实现并抛出事件,并约定好通过事件所传递的数据的格式即可,就像前端和后端的分离那样。
  2. 从容应对灵活多变的业务需求,只要在controler中修改所绑定的事件名和实现相应操作的回调函数即可。controler要做的就是做决定:决定在哪个事件被抛出时,调用实现哪个操作的方法。这就是它为什么叫做controler的原因。而它只做决定,不做实现,体现了 “We need thin controler"(c2.com/cgi/wiki?) 的原则。
  3. 可以很方便的卸载、装载以及修改各个特性。装载:在model/view中提供实现该特性的方法,在controler中把该方法的调用和调用时机(即事件)绑定起来即可。卸载:解除事件绑定即可。修改:参考好处2。

坏处就是有点麻烦,需要controler这一层绑定事件。

分离总是会导致引入一种中间层的,就像以前把DOM事件回调直接写在html元素的onclick事件当中,后来为了结构和行为分离,需要在js中获取该html元素,然后再addEventListener,才能把事件和事件回调函数关联起来。

至于需不需要这个灵活度,看具体的场景而定了。需要这种灵活度的场景还是存在的,而且不少。毕竟,计算机领域的大部分问题都可以通过加入某种中间层来解决。



返回列表 返回列表
评论

    分享到