最近在研究开源框架的源码,打算改写开源框架,适用于自身的业务场景。于是找到了一个框架(spiderFlow)。
根据他的git上的教程,搭建了一个。
controller层,在我们写代码的时候,一般为接口层,与前端,也就是页面,进行亲密接触的那一层。
那他是怎么亲密的?使用google浏览器,按f12,点击network。
然后点击页面的按钮,就会发送http请求。比如我点击测试连接。
他就从测试连接,执行了这个test请求,这个请求实际是走的右边那个接口(接口就是亲密接触,和界面交互的地方),接口就是后端(服务器端)服务的一部分。
然后在controller类就能找到了,这个就是点击后,进来的后端方法
看方法里面,连接数据库的这些东西都被写的很简单,也不含操作数据库的sql语句。
尽是些return,返回给前端收到的标识。那controller层就是给前端提供标识?
没错,就是一些简单的判断,然后在不同的情况,返回给前端不同的内容,当然也可以不反回,不过一般都是要返回的,否则前端不知道,服务端,到底有没有执行这个接口该做的事情。
复杂的情况,统统封装起来,controller只显示业务逻辑,具体对代码的实现,隐藏在service层。
这样业务分离,逻辑看起来就很清晰,如果以后遇到什么问题,可以很快的定位到错误的位置,并且对于以后升级的需求也很方便修改。
总结:controller层,与前端(界面-客户端)交互。返回给客户端标识。不写复杂代码,只判断逻辑,根据判断(if语句类的),返回不同的结果。具体的代码实现细节,隐藏在service层,通过一行或多行(尽可能少量的代码调用)。