Задать вопрос
@pozitiffcaat

Как правильно реализовать парсер следуя принципу Single responsibility?

Есть парсер, который парсит, к примеру, котят, собачат, автомобили, здания и инопланетян.
Этот класс занимается тем, что на вход получает кучку байт, а на выходе структуру данных.
Правильно-ли я понимаю, что у этого класса 5 причин для изменения? Ведь в разное время жизни может поменяться формат, этих самых, котят и собак с инопланетянами. А может и вообще не байтами приходить, а строками Json или Xml (Но тут очевидно, что строки можно просто в массив байт перевести).
Как правильно интерпретировать этот принцип?
  • Вопрос задан
  • 983 просмотра
Подписаться 2 Оценить 3 комментария
Помогут разобраться в теме Все курсы
  • Stepik
    PRO C#. ООП на практике. Потоковый с бонусами
    2 месяца
    Далее
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Учебный центр IBS
    JVA-I-001 Java: ООП и функциональная парадигма
    1 неделя
    Далее
Пригласить эксперта
Ответы на вопрос 1
@Sing303
Ну, все верно. Если у вас один класс пытается парсить и HTML и JSON, то явно его нужно как минимум на 2 класса разделить. Можно, например, общий метод выделить Parse. Создать некий IParser интерфейс и его реализовать в этих 2 классах.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы