浏览 16225 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2003-11-19
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2003-11-19
fine-grained :细颗粒度
coarse-grained:粗颗粒度 |
|
返回顶楼 | |
发表时间:2003-11-19
能讲详细一点吗,什么情况下算是细颗粒度,什么情况下是粗颗粒度
|
|
返回顶楼 | |
发表时间:2003-11-20
Fine-grained PO一般来说管理着持久数据与表列的一对一映射. Coarse-grained PO通过多个Fine-grained PO 来管理持久数据. 这样, 属于Coarse-grained中的Fine-grained PO, 其生命期受制于Coarse-grained PO, 超过了Coarse-grained PO生命期的Fine-grained PO是没有意义的, 因为它们是做为一个整体出现的. 另外, 客户只能通过Coarse-grained PO来间接的访问其中的Fine-grained PO.
因为Coarse-grained是做为一个整体出现的, 所以Lazy initialization是不可能的, 对Coarse-grained来说, 要么一起装入, 要么什么也不装入, 一起装入也就造成了较长的响应时间, 另外, Coarse-grained也会影响我们写程序时运用inheritance 和 polymorphism(这一点, 希望能得到其它朋友的见解) EJB就其本身只能做成一种Coarse-grained PO(Sun网站上也不得不这样说), 而Hibernate PO 则可以做成Fine-grained 和Coarse-grained, 显然选择的余地多. |
|
返回顶楼 | |
发表时间:2003-11-20
感谢bruce的回答。不过解释得太抽象,能不能说得通俗一点。另外能否解释一下Lazy initialization到底是什么,在Hibernate中好像到处都涉及到。
|
|
返回顶楼 | |
发表时间:2003-11-20
谁能告诉我吗?我想这些概念对理解应用hibernate有很大的帮助?
|
|
返回顶楼 | |
发表时间:2003-11-21
Class Initialization通常是耗时的, 有时initialized class可能未必真正的使用到, 为了提高效率. 我们才用lazy initialization.
Lazy initialization 是一种推迟initialization 直到真正需要的时候才initialization的方式. 不仅是在Hibernate中有, 其实平时我们平时自已写程序也可以实现. |
|
返回顶楼 | |
发表时间:2003-11-24
Fine-grained和Coarse-grained 一般是指远程方法调用的接口的颗粒大小.
比如, 我有一个远程对象, 他有很多属性和对应的getter和setter方法, 如果我们远程调用对象每个属性的getter和setter方法, 就会产生很多远程方法调用. 这就是Fine-grained interface, 会造成性能问题 所以我们可以用一个setdata或getdata的方法把一些属性的访问封装起来, 只用一个远程方法传输一个data transfer object来对该对象进行赋值和访问, 这就是Coarse-grained interface |
|
返回顶楼 | |