×
Ви дійсно бажаєте відкрити доступ до тестування за курсом Scala Поглиблений на 40 днів?
ВІДЕОУРОК № 11. Функтори
Розглянути функції вищого порядку, саме процес карингу функцій, абстракції керуючих конструкцій, частково певні функції (partial function). Навчитися створювати partial function, дізнатися для чого і як використовувати такі функції.
Розглянути механізм зіставлення із зразком у мові Scala. Вивчити зіставлення з типами, масивами, списками, кортежами, case-класами, вкладеними структурами.
Вивчити узагальнені класи та функції. Розглянути межі зміни типів, уявлення та контексту. Розглянути ко- та контраваріантні позиції.
Розглянути всі типи, які може запропонувати Scala, в тому числі спеціалізовані. Вивчити типи-одинаки, проекції типів, ланцюжки, складові, інфіксні, екзистенційні, абстрактні типи та типи вищого порядку.
Навчитися використовувати неявні перетворення для розширення можливостей існуючих класів. Розглянути межі контексту та неявний параметр підтвердження.
Розглянути абстрактні елементи. Навчитися використовувати абстрактні елементи за допомогою практичного прикладу.
Дізнатися, що таке екстрактори, навіщо вони використовуються. Розглянути шаблони без змінних та з однією змінною, екстрактори змінної кількості аргументів, послідовностей. Порівняти екстрактори та case-класи.
Розкрити поняття та призначення Future у мові Scala. Розглянути основні методи роботи з Future, такі як перетворення, створення, фільтрація, обробка виняткових ситуацій та інші.
Навчитися застосовувати отримані знання про мову Scala для розробки у функціональному стилі. Ознайомитись з різними функціональними прийомами, такими як обробка помилок без використання Exception, використання чисто функціонального стану та чисто функціонального паралелізму. Розглянути такі властивості, як strictness і laziness, а також функціональні структури даних.
Вивчити моноїди та монади. Розглянути застосування моноїдів, їх композицію, визначення монади, її застосування та закони.
Вивчити функтори. Розглянути різницю між монадою та аплікативним функтором. Вивчити Applicative трейт, правила аплікативу, функтори Traversable.
Зрозуміти призначення тестування програмного забезпечення. Розглянути різні види тестування. Навчитися писати юніт-тести за допомогою фреймворку ScalaTest.