No video

Domain Modeling Made Functional - Scott Wlaschin

  Рет қаралды 2,406

DevTernity Conference

DevTernity Conference

Күн бұрын

🗓️ Upcoming developer events: dev.events Statically typed functional programming languages encourage a very different way of thinking about types. The type system is your friend, not an annoyance, and can be used in many ways that might not be familiar to OO programmers. Types can be used to represent the domain in a fine-grained, self documenting way. And in many cases, types can even be used to encode business rules so that you literally cannot create incorrect code. You can then use the static type checking almost as an instant unit test - making sure that your code is correct at compile time. In this talk, we'll look at some of the ways you can use types as part of a domain driven design process, with some simple real world examples in F#. No jargon, no maths, and no prior F# experience necessary.

Пікірлер: 9
@alerya100
@alerya100 7 ай бұрын
Scott Wlaschin is a god tier teacher !
@PaulSebastianM
@PaulSebastianM 3 ай бұрын
I think it's ironical that OO was invented to properly model domains and the real world and has been the main approach for doing that for decades, yet FP has been doing a better job of this for equally the same amount of time, but almost nobody uses it.
@SeanJung-rx1vo
@SeanJung-rx1vo 4 ай бұрын
I applied a valid type by referring to the video. The code has become more readable. thank you
@bentosalvador336
@bentosalvador336 6 күн бұрын
man, I am from OO world, but I found very awesome insights in this talk. Thank you so much. I have a honest question, about using wrappers to model concepts and using that instead of primitive types and enforce domain rules. Can I say that this is the same as ValueObjects from the OO world? Or maybe the Layer Super Type pattern (Fowler)? It seems very similar to me. If any one from functional worlds can answer that, I would appreciate.
@user-rl3cu9eo3m
@user-rl3cu9eo3m Ай бұрын
He's assuming that the only way to get a VerifiedEmail should be through a VerificationService that does the actual verification, because the domain expert said so. But most of the time, you are going to need to get a VerifiedEmail instance just because the database says so, or the JSON you got from a web service says so. If you have secured your code to specifically deny access to any other way of getting a verified email (to prevent "errors")... what are you gonna do?
@alexandreg3933
@alexandreg3933 4 ай бұрын
Excellent and insightful talk
@clamato422
@clamato422 Ай бұрын
As a fellow gray hair, he gives me hope for a new career in programming.
@ryanhewitt9902
@ryanhewitt9902 6 ай бұрын
There are not enough comments here - this was a well put together presentation! My question is: Can I use this technique in a Lisp-like language? I like the idea of thinking with algebraic types in order to get a birds' eye view, and wonder if I can apply this sort of thinking to languages lacking algebraic union types and compilers.
@lukaszkalnik
@lukaszkalnik 2 ай бұрын
In pure Lisp not really, but there seem to be libraries for this, e.g. cl-algebraic-data-type
Code? - Kevlin Henney
58:58
DevTernity Conference
Рет қаралды 1,5 М.
Matching Picture Challenge with Alfredo Larin's family! 👍
00:37
BigSchool
Рет қаралды 48 МЛН
Cute kitty gadgets 💛
00:24
TheSoul Music Family
Рет қаралды 17 МЛН
🚀 "Good Enough" Architecture (Stefan Tilkov)
50:15
DevTernity Conference
Рет қаралды 882
What I Wish I Knew When I Started Designing Systems (Jakub Nabrdalik)
50:49
DevTernity Conference
Рет қаралды 683
Why the 'fail fast' approach is no longer effective for product teams ft. Allen Holub
3:08
The Founder's Foyer with Aishwarya Ashok
Рет қаралды 9 М.
Domain-Driven Refactoring (Jimmy Bogard)
1:02:01
DevTernity Conference
Рет қаралды 573
Decremental Development (Kevlin Henney)
1:03:06
DevTernity Conference
Рет қаралды 4,9 М.
Acceptance Testing for Continuous Delivery - Dave Farley
51:00
DevTernity Conference
Рет қаралды 670
Mastering the Linux Command Line - Bert Jan Schrijver
50:00
DevTernity Conference
Рет қаралды 379
Qualities of a Highly Effective Architect (Venkat Subramaniam)
51:31
DevTernity Conference
Рет қаралды 347
Unit Testing Done Right (Jakub Pilimon)
1:07:20
DevTernity Conference
Рет қаралды 534
Matching Picture Challenge with Alfredo Larin's family! 👍
00:37
BigSchool
Рет қаралды 48 МЛН