Course of Functional Programming: Refactoring OO to TypeClasses
Introduction to pure functional programming in Scala and its advantages through type classes.
💸 First lesson available without registration!
In this course, we aim to refactor the example application used in the course HTTP API with Scala and Akka with the goal of providing our application with greater tolerance to change. To achieve this, we will use type classes, a technique offered by functional programming that allows us to implement our APIs in a much more declarative way and cleanse our business logic of asynchronous impurities.
By the end of the course:
- You will know the fundamental steps to follow in the refactoring of an application using type classes
- You will understand the basic differences between functional APIs implemented with type classes and conventional abstract interfaces
- You will comprehend the role of monads and applicatives in decoupling the business logic of your application from the infrastructure aspects
- You will learn about the role of the implicit mechanism in Scala and natural transformations in the process of dependency injection
Although it is not strictly necessary to take this course, remember that you also have the available Introduction to Scala course.
Here is the course summary so you can get an idea of the quality and content 😬
Finally, you also have the available introduction video to functional programming that we did in streaming on the occasion of the publication of this course:

Videos of the course
Related courses
Pay according to your needs
lite (only monthly)
- Essential programming courses to build a solid foundation
- Company invoice
standard
- Main catalog to master writing maintainable, scalable, and testable code
- Receive job offers verified by Codely
- Company invoice
premium
- Exclusive AI courses to keep you always up to date
- Early access to new courses
- Discount on workshops
- Receive job offers verified by Codely
- Company invoice
We won't increase the price while your subscription is active