Pure Function - это хорошо установленный термин, относящийся к операции, которая зависит исключительно от входных аргументов. Он не имеет доступа и не изменяет какое-либо нелокальное состояние. Понятие чистой функции в программировании происходит от mathematical functions. Противоположностью чистой функции является нечистая функция, которая может выполнять IO, производить побочный эффект или иметь некоторую зависимость от нелокального состояния.
Обратите внимание, что определение чистой функции является более строгим, чем это задает этот вопрос, поскольку чистая функция запрещает не только мутацию состояния объекта, но и доступ к состоянию объекта. Чтобы найти определение, которое находится между чистыми и нечистыми функциями, мы можем рассмотреть Difference between a method and a function. Часто эти два члена объединяются в одну аморфную абстракцию; но для целей этого вопроса мы будем использовать более точные значения: метод связан с объектом, тогда как функция независима.
Из этого простого определения мы, естественно, достигаем концепции Pure Methods. Чистый метод - это просто чистая функция с одним отличием: помимо входных аргументов метод неявно получает ссылку на свой охватывающий объект, как если бы у него был один дополнительный аргумент.
Я не могу сказать, что термин чистый метод хорошо установлен так же, как чистая функция; но если взять определение чистой функции, наряду с определением метода, то я считаю, что определение чистого метода следует интуитивно. Поэтому, чтобы ответить на вопрос, pure - это ключевое слово, обычно используемое для обозначения наличия или отсутствия мутации.
Эрик Эванс ссылается на «свободные побочные эффекты» в книге DDD. По мнению автора, термин имеет более широкое значение, чем просто DDD. Существует также разделение команд/запросов (http://martinfowler.com/bliki/CommandQuerySeparation.html) для рассмотрения. –