Ben Scala oldukça sık desen (found this example here) bu tür bakın:Bu, Scala API'lerini tasarlamak için iyi bir dönüş tipi kalıp mı?
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)
}
}
Yani olsun çağrı bağlı: Opsiyon [Kullanıcı], Liste [Kullanıcı], Sağ [Kullanıcı]. Bu yaklaşım iyi! Bu uygunsa, sadece çıkar ilgim var mı? Örneğin (ve bu kötü bir durum olabilir): API'yi her zaman listeye geri döndürerek denemek ve genellemek için daha iyi veya daha kötü hale getirecek mi? [Kullanıcı]? Dolayısıyla, bir kullanıcı bulunmazsa veya bir kayıt başarısız olursa, liste sadece boş olacaktır. Ben sadece merak ediyorum .... yukarıdaki 'desen' nasıl geliştirilebilir başka önerileri?
Sadece bazen bir varlık ve bazen hiçbiri ve bunların bazen bir listesini almak API bu stil için mükemmel bir model belirlemek çalışıyorum. Bunu yapmak için 'en iyi' bir yol var mı, yoksa herkes kendi rolünü oynuyor mu?
Liste boş olabilir .. onların parametreleri yanı sıra (Liste [0, n] için .. Aslında API dönüş tipleri dikkat getirdiğin için –