我有一個相當熟悉的設計,我有一個每個模型的DAO,然後是一個使用DAO並擁有所有業務邏輯的模型服務類。服務層應該將對象還是id作爲輸入?應該是對象嗎?
我對如何正確創建這些服務類有點困惑,特別是我的參數應該如何,我的回答是什麼樣的。假設我有一個JSON動作,我可以讀取JSON,然後加載我需要的對象,然後將這些對象傳遞給服務,或者我可以簡單地傳入ID,然後在服務方法中加載對象。
令人困惑的是,我可能會在控制器動作中執行一些這些操作,或者我可能會在服務層中執行這些操作。這些類型的問題是否有明確的答案?
僞代碼如下:
UserDao
save
update
delete
getById
UserService
private userDao
GetUser
Update
我會用我的服務層同時在Web應用程序和API層。
我能有這樣的方法:
def GetSomething(userId: Int, locationId: Int, ...): Something = { ... }
我也可以把它想:
def GetSomething(request: GetSomethingRequest): GetSomethingResponse { ... }
它是一個或另一個,或者我應該都混?
有趣的問題。 API層是什麼?路線或控制器?爲什麼你將它與Web應用程序區分開來? – Kris
您是否在尋找特定於scala和play框架的思想和想法,還是更一般的? –