По п. 1 Вашего вопроса.
Если уверены, что через этот функционал (эту сущность) не будет проходить ось изменений, то пишите класс. Если нет - интерфейс. Или абстрактный класс, если эта сущность должна обладать каким-то state.
Ответ написан
Комментировать
Комментировать
Оценили как «Нравится»
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.