[英]Using Slick with Scala (with Playframwork 2.3)
從設計的角度來看,對於中型應用程序,是否可以在業務邏輯層中使用表對象? 當我說好時,我的意思是說這樣做確實不錯。
這里有很多軟件模式,例如存儲庫模式,活動記錄模式等。我只是不確定它們是否適合諸如Scala之類的語言。
以我的口味,它甚至比存儲庫或活動記錄模式更好。 使用活動記錄,您將不得不向對象本身添加magic
,很難將它們分離得不是很透明。 使用存儲庫模式,您將最終得到許多小型存儲庫,因為每個實體本身都非常笨拙,其所有功能都是以分離的方式包裝對數據庫的調用,主要是為了能夠在模擬或測試中進行測試。 -內存數據庫。
但是,當您在服務層(或業務邏輯層)中使用表查詢時,並沒有犧牲可測試性(或虱子耦合)。 數據庫功能本身在scala.slick.driver.JdbcProfile中進行了抽象,因此您無需進行其他抽象即可將其分解出來。
當然,最好在表定義附近對所有使用一次以上的查詢進行分組,然后將它們導入到您的服務中,但這並不完全是一個存儲庫,只是一堆可組合的查詢。
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.