Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

前端连接数据库的可行性 - 续

  前一篇的描述被喷体无完肤了。实际上这里所说的数据库不是直接的数据库服务器,而是一种逻辑上的数据映射。真正的数据库结构可能非常复杂,但是这个映射就相对简单的多。前端人员不需要了解数据库的结构,只需要知道这个映射的接口就可以完成操作。
  程序的业务逻辑往往很复杂,而数据结构就比业务逻辑清晰的多。网页上的功能经常会随着页面的改版而变动,但数据库的结构几乎不会变动。页面的功能在很多时候都是重复的。比如一个商品的最新信息,它可能出现在多个页面的多个地方。如果以业务逻辑来划分接口,那就会造成很大的程序冗余。而使用数据来划分接口就可以尽可能的避免不必要的程序产生。
  目前,大多数网站的做法是在每次需要一个数据接口时由前后端协商完成。也许目前的Web对程序通信并不太依赖,程序对数据的访问需求不高,所以不会发觉这种做法的问题。对于程序通信依赖大的项目,再以业务逻辑来做接口的划分就会浪费的大量时间。前端完全可以通过一些参数来获取自己所需的数据。或者说是后端直接提供了一个非常完善的数据接口让前端使用,这样的交互方式实际上就是前端对数据库的连接。      一种最简单的实现是,使用MySQL的视图来作为数据映射,在设计上让视图的字段更贴近前端使用。在程序上提供一个查询接口,查询的条件、排序、分页,等参数由前端来给定。在使用时,前端可以直接通过这个接口访问到所需的数据,不需要再与后端协商,不需要为每个业务逻辑做不同的接口。说白了就是前端添加一个模块不需要后端参与。
  这么做的目的并不是性能优化,而是让程序的逻辑更清晰,降低前后端的耦合度。在性能方面,这么做可能会带来一些开销。由于这个做法没有在大型项目上实践过,对性能方面的影响暂时也无法预测。上面使用数据库视图的做法也许不适合大项目,但我想在大项目中也可以找到一个解决方案吧。
网名:
3.80.55.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^