Тёмный

Domain Modeling Made Functional - Scott Wlaschin 

NDC Conferences
Подписаться 195 тыс.
Просмотров 29 тыс.
50% 1

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.
NDC Conferences
ndcsydney.com
ndcconferences.com

Наука

Опубликовано:

 

30 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 22   
@protaties
@protaties 5 лет назад
One of my colleagues often says that Scala is the only language that brings functional programming into the industry. I just sent this to him.
@dibley1973
@dibley1973 6 лет назад
Fantastic video. I am a C# developer and already try to follow some functional principles thanks to people like Vladimir Khorikov, and am already trying to avoid primitive obsession, but to do that in C# is so verbose. But your video now make me want to move from C# to F#. I am loving the type safety of it.
@andymemphis2327
@andymemphis2327 2 года назад
I know Im asking randomly but does anybody know of a method to get back into an Instagram account..? I was dumb forgot my password. I appreciate any tricks you can give me!
@mathiaskash1458
@mathiaskash1458 2 года назад
@Andy Memphis instablaster :)
@andymemphis2327
@andymemphis2327 2 года назад
@Mathias Kash thanks for your reply. I got to the site on google and Im waiting for the hacking stuff now. Takes quite some time so I will reply here later with my results.
@andymemphis2327
@andymemphis2327 2 года назад
@Mathias Kash It worked and I finally got access to my account again. Im so happy:D Thanks so much, you saved my account :D
@mathiaskash1458
@mathiaskash1458 2 года назад
@Andy Memphis happy to help :D
@dupersuper1000
@dupersuper1000 4 года назад
One of the best talks I’ve heard on functional programming in practice.
@CZGaming4U
@CZGaming4U Год назад
But we would eventually need to throw an exception when the create functions return null, wouldnt we? Wouldnt it be better then throw as close as possible to the actual root cause, so from within the create function? We also avoid repetition.
@PTM1008
@PTM1008 2 года назад
Isn't a type chane going to send out ripples across the codebase? This will make feature addition or modification difficult.
@OliverEdwardV
@OliverEdwardV 2 года назад
yes, and that's a good thing! the alternative is that your app crashes at runtime instead of compile time.
@bobweiram6321
@bobweiram6321 2 года назад
Someone in the audience is hacking a lung instead of F#
@imadetheuniverse4fun
@imadetheuniverse4fun 2 года назад
I've been binging Scott's conference talks and the really weird thing is there is a guy coughing his lungs out in EACH ONE of them. I'm starting to suspect it's somehow the same person lol
@dennohpeter
@dennohpeter Год назад
@michunel7022
@michunel7022 3 года назад
This verified email thing looks over complicated, especially with private constructor..
@richardokeefe7410
@richardokeefe7410 2 года назад
Right at the beginning, as soon as I see "FirstName MiddleInitial LastName" I hope "PLEASE this time let the 'domain modelling expert' tell us first thing that this is a stunningly BAD representation for names, because if he doesn't know what the issues are in modelling names, why should I believe he knows anything else about domain modelling?" - What about people who use their 2nd name instead of the 1st? - What about people like my father who use their 3rd name (out of 4) rather than the 1st or 2nd? - What about people who only have one name? - What about people with multipart surnames like "Ní Dhónaill" or "Bean Uí Mhurchú " or "van der Pol"? - What about people like Hungarians and Chinese who want their family name to be written first? (There is a distinction between First name and Given name.) - What about people with names that can be written in two different scripts, where the collation order differs between the scripts and the name should be recognised as the same name whichever script it's in (I'm thinking of chinese characters and Pinyin here)? Names are HARD and we shouldn't be reinforcing bad ways to deal with them.
@imadetheuniverse4fun
@imadetheuniverse4fun 2 года назад
It's a toy example for a conference, calm the fuck down.
@lucasa8710
@lucasa8710 2 года назад
why every talk about FP has a guy coughing the entire video??? hahahaha
@imadetheuniverse4fun
@imadetheuniverse4fun 2 года назад
I'm so glad other people have noticed! It's so annoying!
@rolfnoduk
@rolfnoduk 2 года назад
Great but a bit scary : not all cultures have multiple names, never glue lego pieces together 🙂
@souenzzo
@souenzzo 6 лет назад
"In real world we need to deal with databases" Please upgrade your database github.com/mozilla/mentat
Далее
Thirteen ways of looking at a Turtle -  Scott Wlaschin
1:04:42
КАК Я ЭТО СДЕЛАЛА?
00:13
Просмотров 145 тыс.
Ouch.. 🤕
00:30
Просмотров 7 млн
кукинг с Даниилом 🥸
01:00
Просмотров 669 тыс.
Get value out of your monad - Mark Seemann
58:59
Просмотров 24 тыс.
Refactoring to Immutability - Kevlin Henney
1:03:22
Просмотров 93 тыс.
Domain Modeling Made Functional - Scott Wlaschin
51:39
The Power of Composition - Scott Wlaschin
1:00:57
Просмотров 25 тыс.
F# for Performance-Critical Code, by Matthew Crews
1:03:23
Domain Modeling Made Functional - Scott Wlaschin
49:02
Designing with Capabilities - Scott Wlaschin
43:28
Просмотров 10 тыс.
Object Oriented Programming vs Functional Programming
18:55
F# for C# programmers - Scott Wlaschin
1:00:01
Просмотров 68 тыс.