Хабр Курсы для всех
РЕКЛАМА
Большая витрина: от крупнейших школ до частных авторов. Сравнивайте по цене, длительности, формату и выбирайте самый подходящий курс!
interface СпособУбийства {
void Убить();
}
class УбитьЯдом {
void Убить(){
...;
}
}
class УбитьЧумой {
void Убить(){
...;
}
}
void УбитьВсехЧеловеков(СпособУбийства как){ //передаём объект, а не функцию => не ФВП!
...
как.Убить();
}
Чем «конкретная реализация алгоритма» отличается от функции?
моя задача — не реализовывать паттерны, моя задача показать, что некоторые паттерны в некоторых ситуациях не нужны.
Точно так же паттерны говорят о том, как организовать объекты так, чтобы достичь некоторых свойств системы.
Как можно реализовать передачу объекта (!), содержащего функцию, в языке, в котором вообще нет объектов?
Паттерны Command и Strategy с точки зрения функционального программирования