@pozitiffcaat

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

Есть парсер, который парсит, к примеру, котят, собачат, автомобили, здания и инопланетян.
Этот класс занимается тем, что на вход получает кучку байт, а на выходе структуру данных.
Правильно-ли я понимаю, что у этого класса 5 причин для изменения? Ведь в разное время жизни может поменяться формат, этих самых, котят и собак с инопланетянами. А может и вообще не байтами приходить, а строками Json или Xml (Но тут очевидно, что строки можно просто в массив байт перевести).
Как правильно интерпретировать этот принцип?
  • Вопрос задан
  • 972 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Sing303
Ну, все верно. Если у вас один класс пытается парсить и HTML и JSON, то явно его нужно как минимум на 2 класса разделить. Можно, например, общий метод выделить Parse. Создать некий IParser интерфейс и его реализовать в этих 2 классах.
Ответ написан
Ваш ответ на вопрос

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

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