Это вопрос разработки SPI.В настоящее время у меня есть следующий интерфейс:
interface IService {
void init();
void add(AddArgs args);
void get(GetArgs args);
void close();
}
И теперь нужно добавить новое поведение: void delete(DeleteArgs args)
Итак, мой вопрос: как внедрить эту функциональность?Это новый отдельный интерфейс?Или это должно быть расширение выше?
Другими словами, это (1):
interface IDeletableService {
void delete(DeleteArgs args)
}
против (2):
interface IDeletableService extends IService {
void delete(DeleteArgs args)
}
Или есть новый дизайн, который я не знаюиз.
Обратите внимание, что «в идеале» удаляемый сервис является «в настоящее время» Сервисом.Но это не должно означать, что второй вариант (2) предпочтителен.Я скорее спрашиваю о хорошем дизайне API, который можно поддерживать.