从3层架构中的客户端到数据库的通用方法

时间:2011-07-29 15:45:32

标签: java generics architecture methods

业务应用程序是否应该依赖从远程客户端到hibernate持久层的名为“saveOrUpdate”的泛型方法?

背景:我们的架构师认为,如果应用程序中的用例数量太多或者无法确定,那么可以通用。如你所说,我不和他在一起。你好吗?

2 个答案:

答案 0 :(得分:0)

如果你走这条路,你真的是一个三层架构,还是只是一个双层架构,中间有一个单分子透明的“商业”层?

答案 1 :(得分:0)

如果您正在这样做,那么您将业务逻辑迁移到客户端,简单明了。这不一定是坏事;例如,查看REST的HATEOAS要求,了解适合的情况。但是,如果你试图这样做,你就打破了服务器必须无状态的范式;如果客户端指定“saveOrUpdate”,那么您假设服务器维持当前会话之外的状态,如果您想要水平扩展服务器,这在架构上是个问题。基本上,如果您正确地从客户端驾驶状态(如在HATEOAS情况下),您的保存将在请求发生时发生,并且您不需要“saveOrUpdate”;如果你真的需要来自你的客户,那就表明你已经不正确地将你的业务逻辑迁移到了客户端。