• Какие стоит создавать интерфейсы?

    @random55 Автор вопроса
    Михаил, огромное спасибо! Вы не представляете как сильно помогаете мне уже третий вопрос подряд. Начинаю на порядок лучше понимать фундаментальные вещи.
  • Какие стоит создавать интерфейсы?

    @random55 Автор вопроса
    А что делать в случае, если интерфейс описывает одну и ту же абстракцию, но сама абстракция подразумевает переменное число аргументов? Использовать массив или DTO? Или, может быть, убрать аргументы из сигнатуры метода, и подразумевать что они будут переданы в конструкторы классов, реализующих этот интерфейс (ведь конструктор будет у каждого свой)? Как вы решаете подобные проблемы?
  • Что такое абстракция?

    @random55 Автор вопроса
    Adamos, свожу всё к методам, видимо, потому, что слабо развито абстрактное мышление. Мне очень тяжело даётся выделение абстракций, декомпозиция требований, распределение ответственностей :( Мозг будто всегда в поиске конкретного решения, хотя опыт разработки какой-никакой за плечами имеется. Беда.
  • Что такое абстракция?

    @random55 Автор вопроса
    Допустим с интерфейсом понятно. А если взять во внимание абстрактный класс, в котором есть общий для цепочки наследников функционал? Если с помощью интерфейса мы выделяем некоторые общие публичные методы, через которые вызывающий код будет взаимодействовать с реализующим интерфейс объектом, то в методе абстрактного класса мы выделяем некоторую общую функциональность для всей цепочки наследников. И там и там выделяем общее, или это просто игра слов?
  • Что такое абстракция?

    @random55 Автор вопроса
    Это ведь инкапсуляция, а не абстракция. Разве абстрагирование и абстракция - одно и то же?
  • Что такое абстракция?

    @random55 Автор вопроса
    Абстракция - это некоторое обобщение.

    Наверное да. Мы берём ряд сущностей, и выделяем общие для всех черты. Причем в зависимости от задачи критерий обобщения может меняться.
  • Какой подход использовать?

    @random55 Автор вопроса
    Михаил, ещё раз спасибо, получил все ответы.
  • Какой подход использовать?

    @random55 Автор вопроса
    Спасибо за подробный ответ. Единственное, что мне непонятно - зачем нам нужен интерфейс Notifier? Сложно представить больше одной реализации.