1,abstract layer:作为整个persistencelayer 的对外接口,因此位于该层的方法不应该有任何的有有关于执行细节的参数,也不应该返回任何任何独立于persistence的的值或者异常。如果有一个设计良好的abstract layer,那么存储结构和persistence layer的任何变动都不应该引起 abstract layer的变动。有一些设计模式可以用来完成这一设计,比如dao。
2,The persistence framework。用来作为driver的接口,比如ibatis(framework)作为driver(jdbc,ADO.net)的接口。
3,The driver or interface,比如jdbc