我在Scala中看到這種類型的模式(found this example here)的經常:這是一個很好的設計Scala API的返回類型模式嗎?
class UserActor extends Actor {
def receive = {
case GetUser(id) =>
// load the user, reply with None or Some(user)
val user: Option[User] = ...
sender ! user
case FindAll() =>
// find all users
val users: List[User] = ...
sender ! users
case Save(user) =>
// persist the user
sender ! Right(user)
}
}
所以根據你的電話:選項[用戶],列表[用戶],右[用戶]。這種方法很好!如果這是最理想的,我只是在問興趣?例如(這可能是一個糟糕的):它會使API的更好還是更糟,試圖通過總是返回List [User]來推廣?所以當用戶沒有找到或者如果保存失敗,那麼列表將只是空的。我只是好奇....關於如何改善上述「模式」的任何其他建議?
我只是試圖找出這種API風格的完美模式,你有時會得到一個實體,有時沒有,有時它們是一個列表。是否有「最好」的方式來做到這一點,或每個人都有自己的角色?
列表可以爲空..如果限制爲[0,1],列表爲[0,n],則選項很好.. – 2012-08-07 01:16:04