У меня есть требование индексировать элементы. Эта служба должна запускать Sync или Async.Index Service Design - Sync/Async
Я начал проектирование интерфейса
public interface IndexService{
public void index();
}
И две реализации, один для индекса асинхронного:
public class AsyncIndex implements IndexService {
public void index(){
//... Creates a Thread and index the items
}
}
И другой один к синхронизации Index
public class SyncIndex implements IndexService {
public void index(){
//... Creates a Thread and index the items
}
}
Но теперь существует еще один проект, который имеет IndexService, у которого есть флаг для выполнения async-сервиса или как служба синхронизации:
public interface IndexService{
public void index(int mode);
}
Итак, теперь реализация будет знать, как запустить базу на этом флаге.
Я знаю, что первый дизайн лучше, но мне нужны плюсы и минусы, чтобы объяснить, почему.