我有一个相当熟悉的设计,我有一个每个模型的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框架的思想和想法,还是更一般的? –