来分享一下你项目的架构吧

架构 · forecho · 于 2年前 发布 · 1910 次阅读

有一种说法是「人人都是架构师」。当我们每次拿到一个新需求,思考着怎么去完成这个需求的时候就是一次小小的架构。

人人都是架构师,但并不是人人都能成为好的架构师。没有做过技术或多年技术的不见得就不能成为好的架构师(这里的架构师特指采用IT技术解决问题的架构师)。

技术是需要积累的,下面我来分享一下我的项目经验吧。

经历过的几种架构

PHP 面向过程 -> 使用 PHP MVC 框架 -> PHP 使用框架实现 RESTful API,另外一个 PHP 项目调用 RESTful API(算半个前后端分离)

PHP 面向过程

刚学会 PHP 的时候就用这种方式写项目,那个时候框架什么都不知道。也不能说面向过程方式写项目部好,面向过程至少有一个好处 代码运行效率比较高,听说 phpmyadmin 就一直坚持 PHP 面向过程实现的,但是一旦一个项目比较复杂,我还是推荐使用 MVC 框架, 毕竟比运行效率更重要的是代码的可维护。

使用 PHP MVC 框架

最开始使用的是 CI 框架,当初学它就是看中了它的轻快,开发项目也很快,觉得很不错,这个想法直到换了一家公司之后开始接触 Yii,被人告知 「CI 框架就是一个类库」。Yii 的学习曲线很高,因为里面有很多思想之前从来没接触过,我学 Yii 至少半年 才算入门。但是你一旦学会使用 Yii 开发效率那才叫快。

半个前后端分离

随着项目的业务越来越大,业务也越来越复杂,参与开发的人也越来越多,代码维护性也越来越难了。同时前端技术发展迅猛 ,用户对体验的要求越来越高,一个网站的体验做的好,肯定是对前端技术要求很高。理想情况下我们应该是前后端完全分离, 后端只负责提供 RESTful API 即可,实际情况是前端工程师很难招聘,公司唯一的一两个前端目前还是处于给页面加 JS 效果, 所以被迫使用另外一个 PHP 项目通过 Curl 请求 RESTful API 方式来开发,实际开发过程中越到过很多非常坑爹的问题,而且会出现大量的重复代码(指 RESTful API 和 PHP 两个项目中 )。 这是一个非常非常坑爹的架构,强烈不要使用这种架构。

但是有一个可能的好处是以后项目的划分,专人负责学 API,另外有专人负责调用 API。

完全前后端分离

路由交给前端控制,后端只提供 restful API,后端只负责提供数据,前端管理整个 View 层,这种方式的好处 就是前端非常的自由,想怎么玩怎么玩,前端也能把项目的体验做的更棒。坏处就是需要前端团队技术过硬,一旦这样开始了之后。前端工作量就 加大了,因为后期的迭代大部分都是前端的改动,后端比较稳定。

目前我还没有真正参与过「完全前后端分离」这种架构,以上描述都是据我了解的情况,希望以后有机会参与,以了解 比较坑爹的地方。

目前发现 橘子娱乐 是这么干的。

————————————————————————————

以上就我所经历的架构,不管什么架构都离不开使用场景。接下来欢迎大家分享一下你们所经历的架构是怎么样的?也欢迎大家补充。

本文由 forecho 创作,采用 知识共享署名 3.0 中国大陆许可协议 进行许可。 可自由转载、引用,但需署名作者且注明文章出处。

共收到 0 条回复 架构 讨论
没有找到数据。
添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册