首先,必须要搞明白粒度是一个相对概念,对于整个项目来说,模块划分越细,单个模块越小,负责的任务越少,该模块的粒度就越细。
引申出来可得到粗粒度(或细粒度)类(或对象)的概念,一般而言可以认为,拥有功能或动作越多的类(或对象)粒度越粗,反之越小,而类(或对象)的粒度一般与其大小(即量级)正相关。
比如说VO就是个明显的“粗粒度”,多次采用的数据是通过一次性获取的(对于VO来说),而对于以前的get/set方式就是一个“细粒度”。这些概念都是相对而言的。没有单独存在的“粗粒度”,也没有单独存在的“细粒度”。VO除了get/set方法之外,还有额外的与数据库打交道的方法,其功能比之POJO更多,因此相对而言VO是粗粒度的,而POJO是细粒度的。