Я делаю простую игру с Java, и у меня есть это сомнение.
Предположим, что есть интерфейс для каждого игрового персонажа
public interface Entity{
Vector2 getPosition();
/* More methods...*/
}
Затем я хочу создать интерфейсназывается автоматами, реализуемыми каждым классом, который использует AI-материал (это может быть особый случай Entity, но я подумал об этом отдельно из-за возможности повторного использования)
public interface Automata{
Vector2 getPosition(); // The AI stuff needs to know this
/* More methods needed for AI (some may also be the same as Entity)... */
}
Я думаю, что это способствует модульности, потому что каждый интерфейс описывает свои методыне беспокоясь о существовании других интерфейсов, но когда я писал это, я чувствовал, что повторяю себя, так что плохо иметь эти два (или может быть больше) интерфейса с одинаковыми методами?