Design patterns and architectures for building production quality applications using functional programming, with examples in Haskell and other FP languages.
In Functional Design and Architecture you will learn
Designing production applications in statically typed functional languages such as Haskell
Controlling code complexity with functional interfaces
Architectures, subsystems, and services for functional languages
Developing concurrent frameworks and multithreaded applications
Domain-driven design using free monads and other functional tools
Property-based, integrational, functional, unit, and automatic whitebox testing
Functional Design and Architecture is a pioneering guide to software engineering using Haskell and other functional languages. In it, you’ll discover Functional Declarative Design and other design principles perfect for working in Haskell, PureScript, F#, and Scala.
about the technology
Functional programming offers a powerful alternative to object-oriented programming that helps tackle the complexities of large-scale software. Entrenched design patterns and architectural principles made for OOP are poorly suited for creating large-scale functional applications. This book lays out new methodologies, principles, and architectures optimized for high-level software design using functional languages.
about the book
Functional Design and Architecture is a comprehensive guide to software engineering using functional programming. Inside, you’ll find cutting-edge functional design principles and practices for every stage of application development, from architecting your application through to running simple and maintainable tests. There’s no abstract theory—you’ll learn by building exciting sample applications, including an application for controlling a spaceship and a full-fledged backend framework.
Author(s): Alexander Granin
Publisher: Manning Publications
Year: 2023
Language: English
Pages: 444
Copyright_2023_Manning_Publications
welcome
1_What_is_software_design?
2_The_basics_of_Functional_Declarative_Design
3_Drafting_the_MVP_application
4_End-to-end_design
5_Embedded_domain-specific_languages
6_Domain_modeling_with_Free_monads
7_Stateful_applications
8_Reactive_applications
9_Concurrent_application_framework
10_Foundational_subsystems
11_Persistence:_key-value_databases
12_Persistence:_relational_databases
13_Error_handling_and_dependency_inversion