我对框架的一点见解

前面曾经分析过一些关于 Laravel 框架的小知识点,今天来说一说我对框架的一点见解。

我习惯把框架理解为规则。

什么是规则,抽象一点来说,规则就是是运行、运作规律所遵循的法则。

它会让你知道,怎么做,是 good。怎么做,是 bad。它让你知道什么事情可以做,什么事情,不能做。

我们所生活的世界里处处都有规则,有的规则是显式的,例如刑法,宪法。有的规则是隐式的,例如排队,电梯里不能抽烟等。不管是显式,还是隐式,它都明确的给你划出了一条线,如果你越过了这条线,那么轻则为人所不齿,重则锒铛入狱。

我们也可以把这个思想运用到代码中。不管是语法,还是框架,它明确的都给你指出了一个规则。他们之间的区别只是粗细而已。语法规定的规则比较松散,只规定了基本的规则,确保你遵守这个规则时代码运行不会出错。但是我们的代码并不只是需要运行不出错而已,这只是最基本的需求。我们还需要更加详细的规则,让代码更加清晰可读,开发迅速,方便维护,所以框架应运而生。

不管是 Laravel 还是其他一些使用比较广泛的框架。其实它们做了并且只做了一件事,那就是制定出更加完善的一套规则,以完善代码语言本身的规则。我们所需要做的就是遵守它们所指定出的规则,这样就可以很轻易的写出很优雅的代码。不用考虑什么文件该放在什么位置,什么模块该怎么写。这些东西框架的作者都已经制定好了,我们只需要写我们的逻辑就可以了。

举个例子,语言本身是一堆木条,开发完成的应用是一个箱子,如果你使用原生的语言开发,那么你就需要使用这一堆木条从最基本的骨架开始搭建,直到搭建成一个完整的箱子。而框架则相当于一个已经搭好骨架的箱子,你只需要往各个空位填入木条就可以了。当然,有时候这个骨架可能和你希望做成的箱子不太一样,那么你就需要把不符合你希望的那一部分骨架拆掉,或者改造。

总结一下,框架就是一套更加完善的骨架(规则),我们可以很迅速的使用它开发成一个成型的应用。

但是,在开发过程中,权重排第一位的永远是你自己的逻辑,排第二的才是框架给你制定的规则。我们所需要的只是尽量在遵守框架制定的规则时,写好自己的逻辑。如果自己的逻辑和框架发生了冲突,能改造,则改造,如果不能,就拆掉它。你可以遵守它的规则,但是不能迷信。适合的,才是最好的。

毕竟规则这个玩意,就是拿来打破的。

本作品采用《CC 协议》,转载必须注明作者和本文链接
本帖由 Summer 于 7年前 加精
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 10

最后一句话,是出自金克丝吗?

7年前 评论

@skyjerry :smile: 哈哈哈哈不是,想到了,觉得很合适,所以就用了。

7年前 评论

很不错,对框架有了新的认识。

7年前 评论

厉害了,我的哥。。不,我的姐。。不不,,哥?姐?

7年前 评论

框架其实就是一个惯例,不同的功能由不同的组件实现,把组件放在一起按照惯例配置组合出来一套方案就是框架;
现在很多应用都在反框架,比如 grav, flarum不能说是返璞归真,如果非要想个理由,应该是追求自由不想要框架的条条框框

7年前 评论

@Tao flarum是个论坛系统吧,还称不上框架

7年前 评论

最后一句金克斯。

7年前 评论

@googleFans 所以我说的是反框架, 框架与业务代码集成在一起的

7年前 评论
幽弥狂

@Crizer 厉害了!!!

7年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!