粗粒度:表示类别级,即仅考虑对象的类别(the type of object),不考虑对象的某个特定实例。比如,用户管理中,创建、删除,对所有的用户都一视同仁,并不区分操作的具体对象实例。
细粒度:表示实例级,即需要考虑具体对象的实例(the instance of object),当然,细粒度是在考虑粗粒度的对象类别之后才再考虑特定实例。比如,合同管理中,列表、删除,需要区分该合同实例是否为当前用户所创建。
一般权限的设计是解决了粗粒度的问题,因为这部分具有通用性,而细粒度可以看成业务部分,因为其具有不确定性。
也可以认为對象的粒度就是對象所容納的邏輯 ,粗粒度容納的邏輯多,細粒度容納的邏輯少。
对客户暴露了太多细节的相对来说就是细粒度的,比如你的一个Java Bean,为它所有属性都提供了getter,setter方法,就是属于细粒度的,而如果提供类似 Object getData(),或者setData(Object o)这样方法的类就是粗粒度的。
当客户需要数据的时候,它当然应该知道它的数据是什么样的啊,所以getData(),setData()时的Object 对象对于用户并不是黑箱,用户可以只用一个操作就完成数据的存取,这就是粗粒度的.粒度应该是相对与该类的使用者来说的,如果存取只需要有限的操作,而没有暴露太多的底层实现则是粗粒度的,相反你把每个属性暴露给用户让它都可以对之进行操作则是细粒度的.楼上所说实体Bean,如果我们对它的每个属性都提供getter,setter方法,却不提供getData(),setData()这样的操作,则也是细粒度的,所以在设计Enty Bean时应该避免设计成细粒度的,因为这为增加网络开销.
举个例子, ejb中的实体bean就是粗粒度的 hibernate中的po就可以做到细粒度
如果还是不懂,那么更简单的例子
一个user类 其中有email属性 一个用户email很多个 你可以用一个list来表示很多个email
也可以再设计一个email类 然后user的email属性是email类组成的,那么后一种设计的粒度就更细。它抽象出了更多的模型对应现实逻辑。
而对于像Spring一样的轻量级容器则更适合管理细粒度的对象,因为它使用IoC使得省去了大量的JNDI查找,也不再需要额外的部署。由于几乎不依赖于容器,实现也更为简单。
最后,粒度这个问题应该在设计时根据具体需求而决定,容器环境,性能要求等等都具有较大的影响.我发现在Java版里大家关注的很多都是非常细节的问题,至于设计方面的讨论太少了,现在觉得设计真的是太关键,在前期多花点工夫,在代码实现,维护,扩展,以及其他非功能性需求如性能等方面的满足上也许我们就不至于会那么焦头烂额了.欢迎大家多发些这种类型的讨论帖子,大家共同提高~~
分享到:
相关推荐
超线程技术和粗粒度多线程技术
近来,已经提出了一些基于网络同步的粗粒度方法,以在保持原始网络的同步性的同时减小网络规模。 在本文中,我们研究了在不同平均路径长度和不同分布程度下,粗粒化过程对复杂网络同步性的影响。 大量实验表明,平均...
为了减小网络规模,提出了一些粗粒度的方法将大规模网络转换为中规模网络。 提出了一种基于层次聚类(HCCG)的复杂网络粗粒度方法。 通过使用层次聚类方法对网络节点进行分组,然后更新聚类之间边缘的权重以提取粗...
复杂网络的粗粒度是研究大规模复杂网络的一种重要方法,也是当今网络科学的重点。 本文尝试基于节点相似性指标,为复杂网络开发一种新的粗粒度方法。 通过定义节点的局部相似度和全局相似度指标,从网络节点相似度的...
提出一种基于模糊认知图(Fuzzy Cognitive Map,FCM)与信息融合集成挖掘的面向多样例粗粒度信息获取方法,FCM可以建立多细粒度概念与粗粒度概念之间的模糊认知关系,信息融合则用于构建粗粒度级概念的信息表达,NHL...
粗粒度并行遗传算法的计算性能及其应用研究.nh
粗粒度可重构阵列中的蚁群优化映射,周理,刘冬培,粗粒度可重构阵列(CGRA)结构兼具高性能和灵活性的特点,近年来应用广泛。CGRA的性能发挥依赖于有效的映射算法开发程序的并行性。�
示例4 如何编排几个细粒度服务形成粗粒度服务 细粒度服务形成粗粒度服务
改进蚁群算法的优化速度,该算法将搜索任务分成n个子群
异构粗粒度可重构处理器的自动任务编译器框架设计.pdf
针对经典遗传规划算法(CGP)存在容易早熟收敛、运行效率低的缺陷,提出一种将分布式计算与遗传规划算法结合的计算...实验表明,基于分布式粗粒度并行计算的遗传规划算法(CGGP)计算性能优于经典遗传规划算法(CGP)。
基于三个子种群的粗粒度并行遗传算法用于解决函数优化问题
论文研究-集中式粗粒度分布并行模型和并行进化神经网络.pdf, 提出了一种分布计算环境下并行进化神经网络的实现机制:集中式粗粒度模型。该模型基于并行遗传算法,可以...
卷积神经网络(convolutional neural network, CNN)在图像处理、语音识别、自然语言处理等领域实现了很好的性能.大规模的神经网络模型通常遭遇计算、存储等资源限制,稀疏神经网络的出现有效地缓解了对计算和存储的...
用于个性化数据挖掘的粗粒度分布式深度学习.pdf
摘要:论述了粗粒度可配置计算结构的特点、发展现状和未来发展方向。 关键词:粗粒度 配置 并行计算可配置计算又称为自适应计算。它是由多个具有可重配置功能的功能单元(PE)和可以配置不同数据传递方向的连续线路...
AMD平台下 ,OpenCL SVM 粗/细粒度缓冲SVM粒子。VS工程。
研究对象粒度的概念格维护和关联规则更新是动态环境下概念格应用的实际需要。研究了概念格更新的规律,证明了加入新的对象时概念的生成及其插入位置只与最新生成的概念有关,与先前生成的大量概念无关。发现了概念的...
基于相似性的粗粒度可重构指令压缩.docx
粗粒度多核系统任务级多线程调度研究.docx