粗粒度和細粒度的區別主要是出於重用的目的,像類的設計,爲儘可能重用,所以採用細粒度的設計模式,將一個複雜的類(粗粒度)拆分成高度重用的職責清晰的類(細粒度).對於數據庫的設計,原責:儘量減少表的數量與表與表之間的連接,能夠設計成一個表的情況就不需要細分,所以可考慮使用粗粒度的設計方式.
簡單點,給你兩個接口,你看看
細粒度的查詢任務的接口
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,根據什麼查都是這個接口。
這是代碼級意義上的粗細粒度區別,你可以往更高層次引申,就這麼個理。