潮流

由于第一份实习项目的关系(一个大的MVC框架下有很多独立的小程序),刚开始的业务代码的是写在Controllor里面的,正规的做法是业务逻辑和数据都在Model层中。

现在回想起来,设计成这样是有它的道理的,这与项目的特点有关。每个单一的小项目都有一个独立的Controllor,接口也是写在里面,其实这一个Controllor里面就包括了一个小项目的控制器和Model层中的业务逻辑部分,Model只负责对数据库操作。也算是遵从MVC的特性的。

第二份实习接触了更加正规的MVC设计模式和RESTful模式,这是现在web开发的主流架构,目标是实现后端代码的各种性。。。而且实现前后端代码的完全分离。

后端代码与前端代码

程序的架构如何设计和架构师的技术和对程序的拿捏有很大关系,也和技术的发展有很大关系。很久之前,一个web程序的后台是掌握绝对“主权的”,早期的MVC(JAVA)框架中的视图层也更多的被开发者作为一个“组件”来使用,在视图文件中,会出现这样的:

<p><?php echo $title></p>
<div><%
out.println(info());
%></div

加载视图的权利完完全全在后台,数据(页面上的静态数据)也是我给你你才能要。而现在随着前端技术的发展,前段后端地位开始发生了变化,前端页面可以问后端要数据了,你想要显示什么数据,你可以问我要,我有了就给你。因此前后端代码的沟通方式发生了变化,使得前端代码和后端代码可以实现完全分离,不再通过语言解释器或环境将两个文件联系起来,而是通过http协议,这使得沟通更加“规矩”了,前端人员也不会把自己文件的后缀改成php了,现在前后端代码可以不再同一台服务器上。

现在的做法是通过控制器加载页面,这时后台还不知道页面需要哪些数据,前端页面js调用后台接口获得数据,渲染页面

Advertisements