我有索引項目的要求。此服務應運行同步或異步。索引服務設計 - 同步/異步
我開始設計一個接口
public interface IndexService{
public void index();
}
和兩個實現,一個是異步指數:
public class AsyncIndex implements IndexService {
public void index(){
//... Creates a Thread and index the items
}
}
而另外一個同步指標
public class SyncIndex implements IndexService {
public void index(){
//... Creates a Thread and index the items
}
}
但現在還有另一種具有IndexService的設計,它有一個作爲異步服務或as執行的標誌一個同步服務:
public interface IndexService{
public void index(int mode);
}
所以現在的實現將知道如何運行基於該標誌。
我知道第一個設計更好,但我需要利弊來解釋原因。