iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 24
0
Modern Web

Ruby on Rails面試題挑戰系列 第 24

Ruby on Rails面試題挑戰 Day24 - 什麼是PORO?

What is a PORO?
什麼是PORO?


PORO為Plain Old Ruby Object的縮寫,是指一個沒有繼承自任何其他東西的簡單類別,有別於Rails專案中Model與Controller通常都分別繼承自ApplicationRecord與ApplicationController,天生就有許多繼承來的方法。

上一篇我們提到當程式碼越來越大時就很適合使用PORO幫助Fat Model瘦身,實現所謂SRP(Single Responsibility Principle)的原則,也就是一個物件顧好一件事就好,協助將商業邏輯移出Model,這樣以來程式碼會變得更簡單、也容易重複使用和測試。

你可以這樣回答:

PORO為Plain Old Ruby Object的縮寫,是指一個沒有繼承自任何其他東西的簡單類別,有別於Rails專案中Model與Controller通常都分別繼承自ApplicationRecord與ApplicationController,天生就有許多繼承來的方法。

我們常使用PORO來將程式碼移出Controller和Model,讓我們可以達到Skinny model, Skinny controller,也容易重複使用及單元測試。

參考資料

1.HI, I’M PORO

2.53 Ruby on Rails Interview Questions and Answers

3.為你自己學 Ruby on Rails - Rails 程式碼整理術(進階)


上一篇
Ruby on Rails面試題挑戰 Day23 - Fat models, Skinny controllers和 Skinny controllers, Skinny models的意思為何?
下一篇
Ruby on Rails面試題挑戰 Day25 - 什麼是Active Job?
系列文
Ruby on Rails面試題挑戰30

尚未有邦友留言

立即登入留言