ПРИМЕЧАНИЕ: всегда пытайтесь отделить Интерфейс от Реализации.Это даст вам больше контроля над другими уровнями, используя этот уровень DAO.
Но, как вы знаете, интерфейс дает вам больше абстракций и делает код более гибким и устойчивым к изменениям, потому что вы можете использовать разныереализации того же интерфейса без изменения его клиента.Тем не менее, если вы не думаете, что ваш код изменится, или (особенно) если вы считаете, что ваша абстракция достаточно хороша, вам не обязательно использовать интерфейсы
Другими словами: интерфейсы хорошие, нопрежде чем создавать интерфейс для каждого класса, подумайте об этом