С недели я читаю Программирование в Scala. Авторы представляют элементы языка шаг за шагом, но я все еще смущен, когда использовать функциональные вещи как агенты, закрытия, приправление карри....
Я ищу каталог типичных вариантов использования или лучших практик для функциональных конструкций.
Я не означаю повторно реализовывать известный шаблон как GoF в Scala как
Не понимаете, когда использовать замыкания или каррирование, как не знаете, когда использовать классы. Они всего лишь часть языка и служат любой задаче, которую вы им ставите. Когда объектно-ориентированный подход впервые стал мейнстримом, примерно тот же вопрос был задан относительно классов.
Что касается акторов, то они представляют собой парадигму распределенного программирования, а не, заметьте, часть самого языка. Они используются, когда вы хотите воспользоваться преимуществами параллелизма, и вашему приложению не нужно разделять состояние между параллельными процессами и оно не ориентировано в основном на параллельную обработку.