Я предполагаю, что снаружи вы имеете в виду подход сверху донизу, а изнутри вы имеете в виду снизу вверх. Если это то, что вы имеете в виду, то FP больше подходит для подхода снизу вверх, т.е. наизнанку.
При разработке программ FP подумайте о решении проблемы, используя:
- Структура данных: какие все данные должны обрабатывать ваши приложения и
какая структура данных наиболее подходит для представления этих данных.
- Функция: функция выполняет одно действие (и делает это правильно).
- Композиция: создание новых функций, которые достигают своих целей путем составления других функций с использованием техники, такой как функции и композиции высшего порядка.
- Другие более продвинутые и абстрактные техники ФП, такие как монады и т. Д.
Таким образом, в основном вы начинаете снизу, для каждой атомарной проблемы вы пишете функцию, а затем, перемещаясь вверх по дизайну, используете эти атомарные функции для создания функций на более высоком уровне с использованием композиции.
Помните, что всегда думайте о решении проблемы, используя абстракции и составление этой абстракции, а не думайте последовательно, как это было бы в императивном программировании.