我對框架的一點見解

Seaony發表於2017-11-07

前面曾經分析過一些關於 Laravel 框架的小知識點,今天來說一說我對框架的一點見解。

我習慣把框架理解為規則。

什麼是規則,抽象一點來說,規則就是是執行、運作規律所遵循的法則。

它會讓你知道,怎麼做,是 good。怎麼做,是 bad。它讓你知道什麼事情可以做,什麼事情,不能做。

我們所生活的世界裡處處都有規則,有的規則是顯式的,例如刑法,憲法。有的規則是隱式的,例如排隊,電梯裡不能抽菸等。不管是顯式,還是隱式,它都明確的給你劃出了一條線,如果你越過了這條線,那麼輕則為人所不齒,重則鋃鐺入獄。

我們也可以把這個思想運用到程式碼中。不管是語法,還是框架,它明確的都給你指出了一個規則。他們之間的區別只是粗細而已。語法規定的規則比較鬆散,只規定了基本的規則,確保你遵守這個規則時程式碼執行不會出錯。但是我們的程式碼並不只是需要執行不出錯而已,這只是最基本的需求。我們還需要更加詳細的規則,讓程式碼更加清晰可讀,開發迅速,方便維護,所以框架應運而生。

不管是 Laravel 還是其他一些使用比較廣泛的框架。其實它們做了並且只做了一件事,那就是制定出更加完善的一套規則,以完善程式碼語言本身的規則。我們所需要做的就是遵守它們所指定出的規則,這樣就可以很輕易的寫出很優雅的程式碼。不用考慮什麼檔案該放在什麼位置,什麼模組該怎麼寫。這些東西框架的作者都已經制定好了,我們只需要寫我們的邏輯就可以了。

舉個例子,語言本身是一堆木條,開發完成的應用是一個箱子,如果你使用原生的語言開發,那麼你就需要使用這一堆木條從最基本的骨架開始搭建,直到搭建成一個完整的箱子。而框架則相當於一個已經搭好骨架的箱子,你只需要往各個空位填入木條就可以了。當然,有時候這個骨架可能和你希望做成的箱子不太一樣,那麼你就需要把不符合你希望的那一部分骨架拆掉,或者改造。

總結一下,框架就是一套更加完善的骨架(規則),我們可以很迅速的使用它開發成一個成型的應用。

但是,在開發過程中,權重排第一位的永遠是你自己的邏輯,排第二的才是框架給你制定的規則。我們所需要的只是儘量在遵守框架制定的規則時,寫好自己的邏輯。如果自己的邏輯和框架發生了衝突,能改造,則改造,如果不能,就拆掉它。你可以遵守它的規則,但是不能迷信。適合的,才是最好的。

畢竟規則這個玩意,就是拿來打破的。

相關文章