Что такое дифференциал функции
Детерминированное ядро, недетерминированная оболочка: как обобщить идею Functional Core/Imperative Shell
Четырнадцать лет назад Гэри Бернхардт сформулировал архитектурный принцип «Functional Core, Imperative Shell» («Функциональное ядро, императивная оболочка»): бизнес-логику держат в чисто функциональном ядре без побочных эффектов и ввода-вывода, а всё взаимодействие с внешним миром, базы данных, сеть, файлы, интерфейс, выносят в оболочку, которая вызывает ядро с готовыми значениями и передаёт результат наружу. Автор разбираемого поста утверждает: то, что на самом деле делает ядро удобным для тестирования,...