公司最近正在实施一个商业项目的改造,虽然从没搞过前端,但是由于人员变动,由我来承担整个前端+部分后端的任务,现在基本写完了,记录一下一些想法。
当然前端是JS,用的是MVVM模式。有别于MVC,MVVM在概念上是真正将页面与数据逻辑分离的模式,它把数据绑定工作放到一个JS里去实现,而这个JS文件的主要功能是完成数据的绑定,即把model绑定到UI的元素上,项目中负责绑定的是一个微软js库叫做knockout,此处不做过多的赘述。逻辑处理基本封装在viewModel中,而由于是双向绑定的,所以view也不会依赖于model了,甚至后端的task可以自发的把数据发上来,viewModel感知到这些数据的状态会自动的更新到view上,十分方便。这样一来,view端会十分干净,整个的结构也不会浑浊不清,如果比对老的MVC模式,精简、清晰的代码会带来赏心悦目的效果,所以MVVM还是十分划算的。
顺便,后端是C++写的,此次的架构是Task驱动的,其实很简单,每个功能本质都是Task,每一个大的Task都写成动态库的形式,这样拓展起来简直方便,需要新功能,扔给客户一个DLL就事毕。