今天在公司的开发的框架上做了一个应用,才意识到一个问题,原来这个框架的的事务处理时加在了数据处理层上面。
感到奇怪就去问了下做框架的人,原来逻辑业务层面上没有事务处理,也没有数据库连接。再他看来,事务处理就是和数据库打交道的,就应该放到数据处理层上去,我告诉他,这样的话我会有90%的代码都要放到数据处理层了。结果被他说了一顿。
哎,我只想说的是,淡定。
指摘,如果用这样的框架做的话简单的程序没问题。
当出现比如两个逻辑A,B。A,B必须同时满足的时候才能进行数据的持久化的情况,那么事务处理就必须包括在C中(C{A,B})。C中进行AB的处理判断。当AB同时满足的时候再进行持久化操作。
如果用现有框架的话,为了进行事务处理,C必须位于数据处理层,数据处理层去调用业务逻辑层的A,B也不合理,A,B也就必须位于数据处理层了。那样的话。。。。就没有分层的意义了。
我认为应该是这样的