Re[3]: Преимущество переноса условия из метода в фабрику
От: vsb Казахстан  
Дата: 11.04.21 13:53
Оценка: 1 (1)
Здравствуйте, no4, Вы писали:

vsb>>Я считаю, что он не прав. Нет ничего плохого в switch-ах по всей программе.


no4>Image: OOP_FP_extend_easy_hard.jpeg


Непонятно, почему в FP сложно добавить вариант. Добавляем вариант, компилируем программу, вылазит кучу ошибок. Каждая ошибка это то место, где нужно добавить код обработки. Собственно всё.

no4>отсюда


no4>Есть нечто плохое. Представьте, что нужно сделать систему с плагинами, причем добавление пола должно осуществляться плагином.


no4>Как вы это сделаете со свитчами по все программе?


Всё же это уже другая задача. В такой задаче ОО-подход нужен, соглашусь. Но тут речь идёт не о трудоёмкости, а принципиальной возможности.

Хотя я бы и этот подход сделал бы по-другому. По-мне лучше вынести такие операции в интерфейс плагина и всё. Что-то вроде

interface State { ... }

interface Plugin {
    State init();
    State processValidInput(byte[] input, State state);
    State processInvalidInput(byte[] input, Exception error, State state);
    void finish(State state);
}


В таком варианте можно и state добавлять (например с нужными полями), и обработка остаётся в классе с поведением.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.