backbone的核心有Model Router View三大常用构件。在分析了backbone的官方demo之后,我说一说它之于后端框架的相同与不同。
Router用起来很像是前端控制器;
Model用起来仍旧是model;
View的功能最强大,主要任务是渲染html,兼职监听事件派发任务,所以,它看上去是视图与控制器的合体。
以上,只是对官方demo的总结,在其他的经典demo项目中(比如lineman的backbonedemo)还有其他的设计模式实现。
但,这些实现,对于有模式洁癖的后端程序猿来说,还是有些凌乱,他们不想看到:
设计模式的乱伦
混在一文件里的的代码
随意的命名
撇脚的OO(当然,这个是JS硬伤,基本无解)
所以,对于企图借助Backbone、Angular之类的“mvx”框架做前端开发的后端开发者们,在开始工作之前,必须解决这些问题。
导致这些问题产生的罪魁毫无疑问是“混乱”两个字,而“规则”则是“混乱”的天敌。
所以 请先制定规矩
Router用起来很像是前端控制器;
Model用起来仍旧是model;
View的功能最强大,主要任务是渲染html,兼职监听事件派发任务,所以,它看上去是视图与控制器的合体。
以上,只是对官方demo的总结,在其他的经典demo项目中(比如lineman的backbonedemo)还有其他的设计模式实现。
但,这些实现,对于有模式洁癖的后端程序猿来说,还是有些凌乱,他们不想看到:
设计模式的乱伦
混在一文件里的的代码
随意的命名
撇脚的OO(当然,这个是JS硬伤,基本无解)
所以,对于企图借助Backbone、Angular之类的“mvx”框架做前端开发的后端开发者们,在开始工作之前,必须解决这些问题。
导致这些问题产生的罪魁毫无疑问是“混乱”两个字,而“规则”则是“混乱”的天敌。
所以 请先制定规矩
这些“规则”包括:
1、定义工程目录
2、定义文件的命名规则
3、定义类的命名规则
4、约定构件之间的职责不可逾越
5、扩展、hack某些构件或自定义新的构件,让它们符合规则【4】
6、约定一条流程主线,(类如,我们用router hash分发任务)
好吧,就这些了,开发者们,冲锋!