粗粒度和细粒度的区别主要是出于重用的目的,像类的设计,为尽可能重用,所以采用细粒度的设计模式,将一个复杂的类(粗粒度)拆分成高度重用的职责清晰的类(细粒度).对于数据库的设计,原责:尽量减少表的数量与表与表之间的连接,能够设计成一个表的情况就不需要细分,所以可考虑使用粗粒度的设计方式.
简单点,给你两个接口,你看看
细粒度的查询任务的接口
interface TaskService{
public List getTaskById(int id);
public List getTaskByName(String name);
public List getTaskByAge(int age);
}
那么粗粒度的接口该是什么样的呢?
interface TaskService{
public List getTask(Person person);
}
person有name,id,age,根据什么查都是这个接口。
这是代码级意义上的粗细粒度区别,你可以往更高层次引申,就这么个理。