資料庫命名規範--app
阿新 • • 發佈:2019-02-08
許多開發者很疑惑為什麼 FleaPHP 以高效開發為目標,卻沒有提供 Active Record 模式。本文嘗試詳細闡述這個問題。
Active Record 是什麼?
Active Record 模式中文名為“活動記錄”,在《企業應用架構模式》(PoEAA)一書中定義如下: 活動記錄(Active Record):一個物件,它包裝資料庫表或檢視中的某一行,封裝資料庫訪問,並在這些資料上增加了領域邏輯。
舉個例子來說,一個圖書資料表,每一條記錄就是一本圖書的資訊。那麼採用 Active Record 時,每一本圖書就是一個 Active Record 物件例項。
Active Record 因 Ruby On Rails 而流行:
Active Record 之所以現在這麼炙手可熱,甚至許多人將 Active Record 和 ORM 劃等號,完全是 Ruby On Rails 的原因。在 Ruby On Rails 中,Active Record 除了最基本的將資料記錄和一個物件互相對映外,還提供了資料(而不是物件)間關聯關係的處理 。例如:一本圖書有一個或者多個作者,所以每一個圖書物件都和多個作者物件關聯。反過來一個作者可以寫多本書,所以一個作者物件也和多個圖書物件關聯。
在 RoR 中,我們獲取一個圖書物件時,自動就獲得了該圖書物件所對應的作者物件(本質上是圖書資料對應的作者資料)。更進一步,通過圖書物件關聯的作者物件,我們 可以獲取該作者所寫的所有圖書的物件例項。而這些工作,在 RoR 中只需要幾行程式碼而已,以前我們需要寫上一大段程式碼才能實現同樣的效果。
RoR 中,對 Active Record 模式的實現完全利用了 Ruby 語言的靈活性,簡短几行程式碼就可以定義一個關聯。並且通過複雜的 ActiveRecord:Base 物件,提供了 CRUD(建立、讀取、更新、刪除)操作的預設處理。所以使用 RoR 時,絕大部分常見的資料庫操作只需要很少量的程式碼就可以完成,大大提高了開發效率。
Active Record 模式中文名為“活動記錄”,在《企業應用架構模式》(PoEAA)一書中定義如下: 活動記錄(Active Record):一個物件,它包裝資料庫表或檢視中的某一行,封裝資料庫訪問,並在這些資料上增加了領域邏輯。
舉個例子來說,一個圖書資料表,每一條記錄就是一本圖書的資訊。那麼採用 Active Record 時,每一本圖書就是一個 Active Record 物件例項。
Active Record 因 Ruby On Rails 而流行:
Active Record 之所以現在這麼炙手可熱,甚至許多人將 Active Record 和 ORM 劃等號,完全是 Ruby On Rails 的原因。在 Ruby On Rails 中,Active Record 除了最基本的將資料記錄和一個物件互相對映外,還提供了資料(而不是物件)間關聯關係的處理
在 RoR 中,我們獲取一個圖書物件時,自動就獲得了該圖書物件所對應的作者物件(本質上是圖書資料對應的作者資料)。更進一步,通過圖書物件關聯的作者物件,我們 可以獲取該作者所寫的所有圖書的物件例項。而這些工作,在 RoR 中只需要幾行程式碼而已,以前我們需要寫上一大段程式碼才能實現同樣的效果。
RoR 中,對 Active Record 模式的實現完全利用了 Ruby 語言的靈活性,簡短几行程式碼就可以定義一個關聯。並且通過複雜的 ActiveRecord:Base 物件,提供了 CRUD(建立、讀取、更新、刪除)操作的預設處理。所以使用 RoR 時,絕大部分常見的資料庫操作只需要很少量的程式碼就可以完成,大大提高了開發效率。