A Functional Architecture with F#
Mark Seemann
ByCourse info



Course info



Description
F# is a Functional language in the .NET framework; while most people still regard it as a niche language, it’s a Turing complete, general purpose language, so you can build almost any sort of application with it. However, with its strong focus on immutability, programmers used to Object Orientation struggle with creating a proper architecture for a Functional system. This course provides an example of how to build a mainstream application in F#, using extensive demos to build a comprehensive demo application from scratch.
Section Introduction Transcripts
Thinking Functionally
Hello, my name is Mark Seemann, and this is the Functional Architecture with F# course, module 1, Thinking Functionally. In this module, you'll learn about some basic abstractions before we get started with F#. You will also see some demos of the sample applications used in this course, and you'll learn about its concrete architecture, including how to get started with an F# application.
Pipes and Filters
Hello, my name is Mark Seemann and this is the Functional Architecture with F# course, module 2, Pipes and Filters. In this module, you'll see examples of selected patterns from the Pipes and Filters pattern language, as well as demos of each pattern. These patterns are all about accepting and checking input, transforming it, and mutating the state of the application. In module 3, you'll see how to return the state of the application to clients.
Map/Reduce
Hello, my name is Mark Seemann and this is the Functional Architecture with F# course, module 3, Map/Reduce. In this module you'll learn about various functions from the Map/Reduce pattern language and you'll see extensive demos of how to write systems composed of such functions. The theme is to be able to answer questions about the state and data of the system.
Cross-Cutting Concerns
Hello. My name is Mark Seemann and this is the Functional Architecture with F# course module 4, Cross-cutting concerns. In this module you'll learn about how to implement persistence and other cross-cutting concerns with the to use Windows Azure Storage Services. Using Azure queues, bring up the topic of replay detection and item potency. Finally, you'll see how to add error handling and logging to your application.