在我们的团队中,我们使用请求和响应 DTO,通过我们的业务逻辑组件层次结构(在隔离的 DB DTO 之外)。
我们要求在业务逻辑层没有 SS 依赖。
所以我们不使用 IReturn 或 IReturnVoid 接口。我们只使用没有继承的简单 c# 对象。
至于路由,我们在 AppHost.Configure 中使用Fluent API ,本质上是创建一个路由表。
在我们的例子中,ServiceStack 表现得非常好。
我们的 Service.Model 可以从业务逻辑层使用,无需依赖。
服务函数实际上是一个瘦包装器,调用业务逻辑函数,返回响应 DTO。
但是 JsonServiceClient.Get 函数只接受一个 IReturn 对象作为参数,或者直接接受 URI。
它不接受对象作为参数,例如 Post 函数。
有什么建议吗?
更新 1。
神话,
关于 IReturn,不幸的是,在我们的案例中,业务逻辑模块中没有使用需求,
甚至更轻的 SS 依赖。
服务功能是一个调用业务模块的瘦包装器。
两层之间的链接只是请求和响应 DTO。我们非常喜欢这种方法。
是的,它们是“消息操作”,但它们也用作应用层之间的消息。
此外,我的客户主要是 Jquery Ajax,而不是 C#。因为移动,绝大多数倾向于Jquery Ajax。
因此,在我们的例子中,我们只能使用对象,而不是用 IReturn 标记。ServiceStack 表现得非常好。