アイテムにインデックスを付ける必要があります。このサービスは、同期または非同期を実行する必要があります。
インターフェイスの設計を開始しました
public interface IndexService{
public void index();
}
2 つの実装 (1 つは非同期インデックス用):
public class AsyncIndex implements IndexService {
public void index(){
//... Creates a Thread and index the items
}
}
もう 1 つは Sync Index に
public class SyncIndex implements IndexService {
public void index(){
//... Creates a Thread and index the items
}
}
しかし、今度は、非同期サービスまたは同期サービスとして実行するためのフラグを持つ IndexService を持つ別の設計があります。
public interface IndexService{
public void index(int mode);
}
これで、実装はそのフラグに基づいて実行する方法を認識します。
最初のデザインの方が優れていることはわかっていますが、その理由を説明するには長所と短所が必要です。