Statically typed functional programming languages like F# 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.
YOU MAY ALSO LIKE:
- Understanding Parser Combinators: A Deep Dive - Audience Level: Beginner (SkillsCast recorded in April 2017)
- Domain Models in Practice with Marco Heimeshoff (Online Course on 10th - 14th May 2021)
- Crafting Code with Sandro Mancuso (Online Course on 13th - 14th May 2021)
- DDDx — Domain-Driven Design eXchange 2021 (Online Conference on 8th - 9th June 2021)
- Software Architecture Gathering Digital 2021 (Online Conference on 13th - 14th October 2021)
- LDN *Virtual* Talks Apr 2021 *Red Badger Takeover* (Online Meetup on 27th April 2021)
- Living with Your Legacy (SkillsCast recorded in April 2021)
- Real-world API Modularization with DDD and Hypermedia (SkillsCast recorded in April 2021)