【发布时间】:2011-07-30 00:03:47
【问题描述】:
业务应用程序是否应该依赖从远程客户端到休眠持久层的名为“saveOrUpdate”的通用方法?
背景:我们的架构师认为,如果应用程序中的用例数量太多或无法真正确定,那么总体上通用是可以的。正如你所说,我不和他在一起。你好吗?
【问题讨论】:
标签: java generics architecture methods
业务应用程序是否应该依赖从远程客户端到休眠持久层的名为“saveOrUpdate”的通用方法?
背景:我们的架构师认为,如果应用程序中的用例数量太多或无法真正确定,那么总体上通用是可以的。正如你所说,我不和他在一起。你好吗?
【问题讨论】:
标签: java generics architecture methods
如果您这样做,您就是将业务逻辑迁移到客户端,简单明了。这不一定是坏事。例如,查看 REST 的 HATEOAS 要求以了解适合的情况。然而,如果你试图这样做,你就打破了服务器必须是无状态的范式;如果客户端指定“saveOrUpdate”,那么您假设服务器在当前会话之外保持状态,如果您想要水平扩展服务器,这在架构上是一个问题。本质上,如果您正确地从客户端驱动状态(如在 HATEOAS 情况下),您的保存将在发出请求时发生,并且您不需要“saveOrUpdate”;如果你真的需要你的客户,这表明你已经不正确地将你的业务逻辑迁移到了客户。
【讨论】:
如果你走那条路,你真的是一个 3 层架构,还是只是一个中间有一个单分子透明“业务”层的 2 层架构?
【讨论】: