Исходя из фона ООП, я сомневаюсь в рекомендуемом способе проектирования API в Clojure. Например, в качестве языка объектно-ориентированного (Python здесь), для использования некоторые API я хотел бы сделать это:Дизайн клиента Clojure/LISP REST
api = someWebService()
api.setWriteApiKey(WRITE_API_KEY)
api.sampleloadSong('file.mp3')
В приведенном выше примере, я установил ключ API раз и снова и снова вызывать связанные с ними методы никогда не прохождения API снова. Каков рекомендуемый способ сделать это в Clojure или любом другом семействе языков LISP?
Нужно ли мне передать ключ в каждом вызове функции, как это:
(sampleloadSong "WRITE_API_KEY" "file.mp3")
Или есть другой подход лучше.
Создайте неизменяемый объект API, который вы будете использовать снова и снова: '(make-api" ключ "...) ... (образец-песня api-песни). Это действительно разумный дизайн даже на императивных языках. –
@ om-nom-nom Вы можете объяснить это коротким примером? – Sibi