面向对象的困扰

阅读更多

在当今这个ORM的时代,我们的Domain Object不经意间变成了一个个Data Object,EJB3的EntityBean尤为如此。

曾经尝试过在EntityBean中加入其CRUD及业务方法,让它看起来好像是一个Domain Object。DAO没有了(这个东东更像是面向过程,我们这里抛开Design Pattern),直接在SessionBean中操作EntityBean来完成Business。

问题来了,EntityBean由容器负责persistence,通过Annotation无法给EntityBean注入EntityManager,需要从SessionBean获取再交给它,这样会直接导致这个所谓的Domain Object不能串行化,这样的Domain Object还有意义吗?

另外,这个臃肿的EntityBean也违背了其设计者的初衷,究竟是面向对象限制了EJB,还是EJB天生不适合面向对象?

你可能感兴趣的:(OO,EJB,DAO,设计模式,Rails)