KotlinConf 2017 - Architectures Using Functional Programming Concepts by Jorge Castillo

preview_player
Показать описание
You're probably used to MVP, MVVM, MVC, Clean, Viper, and other patterns and architectures usually applied using OOP.

This talk offers functional alternatives to these concepts, enhancing key ideas such as:

* Purity: Get rid of state on layers where it's not actually needed, enhancing the predictability of your code and therefore testability. You will learn about referential transparency and its importance for code readability, while at the same time reducing substantially the amount dependencies you need to mock.

* Dependency Injection: Find new ways of injecting dependencies into your system without the need of complex frameworks or libraries. Learn how to switch dependencies that are applying side effects on your testing environment to achieve complete isolation.

* Monads: Use Monads and sealed classes to model success and error cases inside your system. Use nested Monads, Functors, Applicatives to operate and transform the domain data. We’ll also cover more advanced styles such as Tagless-Final and Free Monads.

If you feel OOP is just not enough and want to make a big step forward, watch this talk. You will not regret it!

Рекомендации по теме
Комментарии
Автор

He has a workaround for everything! He is a real developer!

shahriarrobbani
Автор

Nice ... But on the other side the rxJava alternative is simply better for such kind of code. Asynchronous Jobs, mapping, filters etc. are the simplest thing in rx

bobek
Автор

any github code for this talks? there's a lot of new (or maybe deprecated) keyword introduced here.

e.g: runInAsyncContext(f, onSuccess, onError, AC)


does the above code belongs to KATEGORY (now: Arrow-KT)?

mochadwi
Автор

interesting talk, although 33:15 looks hacky. :|

Zhuinden
join shbcf.ru