Requirements:
- Git (optional)
- F#
I will assume that you have git already installed.
| // ================================================ | |
| // Example: Implementation of the Microwave API | |
| // | |
| // To use, see comment at bottom of file | |
| // ================================================ | |
| (* | |
| This domain is all about using a Microwave oven. | |
| The oven has: |
Functional programming and domain-driven design might not seem to be a good match, but in fact functional programming can be an excellent approach to designing decoupled, reusable systems with a rich domain model. This workshop will show you why.
This will be a hands-on workshop designed for beginners in functional programming. We'll do lots of exercises and build some small projects that take us all the way from high-level design to low-level implementation.
Functional programming and domain-driven design might not seem to be a good match, but in fact functional programming can be an excellent approach to designing decoupled, reusable systems with a rich domain model. This workshop will show you why.
This will be a hands-on workshop designed for beginners in functional programming. We'll do lots of exercises and build some small projects that take us all the way from high-level design to low-level implementation.
This will be especially useful for people learning functional programming -- all concepts used in the workshop will be explained. Previous development experience is recommended.
| (* =================================== | |
| Code from my series of posts "Six approaches to dependency injection" | |
| =================================== *) | |
| open System | |
| (* | |
| ## The requirements |
| (* =================================== | |
| Code from my series of posts "Six approaches to dependency injection" | |
| =================================== *) | |
| open System | |
| (* ====================================================================== | |
| 1. Dependency Retention | |
| In which we don't worry about managing dependencies, |
| (* =================================== | |
| Code from my series of posts "Six approaches to dependency injection" | |
| =================================== *) | |
| open System | |
| (* ====================================================================== | |
| 5. Dependency Interpretation |
| (* =================================== | |
| Code from my series of posts "Six approaches to dependency injection" | |
| =================================== *) | |
| open System | |
| #load "Expecto.fsx" // from https://gist.github.com/swlaschin/38e21ff8d64ebe4e93e42fd288b486d5 | |
| (* ====================================================================== |
| (* =================================== | |
| Code from my series of posts "Six approaches to dependency injection" | |
| =================================== *) | |
| open System | |
| (* ====================================================================== | |
| 4. Dependency Injection |
| (* =================================== | |
| Code from my series of posts "Six approaches to dependency injection" | |
| =================================== *) | |
| open System | |
| (* ====================================================================== | |
| 2. Dependency Rejection |