1.angularjs的MVC模式
做过前后端交互的童鞋们,应该对MVC的理解都比较清晰了。如果纯前端的可能不太理解。楼主本是JAVA出身,大家都知道JAVA几乎是纯服务端的应用,当然随着技术的进步,每一种编程语言都不可能是纯后端服务端的,多多少少会有跟前端交互的技术比如JAVA中的struts2的jsp标签。但这种东西毕竟不是纯前端的技术,很有可能在使用一些前端技术的时候会出现莫名的冲突。有时候struts标签会跟jquery冲突,这就很尴尬了,所以现在我们的项目基本上都是前后台分离,只在协议上进行交互,这样可以很大程度上避免一些不必要莫名的BUG。
简单的说一下MVC吧。我们知道几乎所有的操作都是由前端发起的,用户的操作才会引起一连串的数据变化。就比如说一个简单的查询操作。用户操作前端页面即我们说的view层,然后会以http或者https协议的形式,传递给后台服务端,服务端接到请求,就会交给控制层进行处理,而控制层一般只负责逻辑控制,把你想要的数据展示到什么位置,哪个页面。而控制层接收到请求,会将这种请求交给service层进行处理,service则负责业务处理,你需要怎么样的数据, 怎样格式的数据等,service进行一番分析,然后交给DAO去数据库取数据,DAO取出数据交给service,service对收到的数据进行处理,处理成适合前端的数据格式,然后将数据交给controller层,controller层将数据返给前端展示,这样用户就可以看到他想要的数据更新,完成一次简单的人机交互。MVC的最大优点就是层层分离,减少各模块之间的耦合度。耦合度是个什么概念呢?就向我们做饭的时候,乱炖就是一种耦合度极强的菜,他把前端代码合后端代码掺和在一起,一旦我感觉到可能放西红柿要比土豆好,那么我就需要去更换所有的土豆,那我需要把整个锅里土豆都翻一遍找出来,然后把西红柿塞到里面去,这就很麻烦了,那么宁可再重新做一锅也不愿去挨个的替换掉。然而如果我们换种方式使用这种MVC模式来做饭我一层层的相对独立,独立之后,我想更换那一套东西,就不需要翻江倒海似的去搞乱整个项目。这种情况下,耦合度就低了。
简答的看一下这张图,从图中可以看出angularjs也是可以分为MVC模式的。
原文链接:https://www.f2er.com/angularjs/146514.html