粗粒度和细粒度的主要区别在于重用的目的:像类的设计,为了尽可能的重用则采用细粒度的设计模式,将一个复杂的类(粗粒度)拆分成几个高度重用,职责清晰的类(细粒度)。对于数据库的设计,尽量减少表的数量和表之间的连接,能设计成一个表的情况就不要细分,所以考虑使用粗粒度的模式
简单点,给你两个接口,你看看
细粒度的查询任务的接口
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,根据什么查都是这个接口。
这是代码级意义上的粗细粒度区别,你可以往更高层次引申,就这么个理。