Club utilise des cookies et des technologies similaires pour faire fonctionner correctement le site web et vous fournir une meilleure expérience de navigation.
Ci-dessous vous pouvez choisir quels cookies vous souhaitez modifier :
Club utilise des cookies et des technologies similaires pour faire fonctionner correctement le site web et vous fournir une meilleure expérience de navigation.
Nous utilisons des cookies dans le but suivant :
Assurer le bon fonctionnement du site web, améliorer la sécurité et prévenir la fraude
Avoir un aperçu de l'utilisation du site web, afin d'améliorer son contenu et ses fonctionnalités
Pouvoir vous montrer les publicités les plus pertinentes sur des plateformes externes
Gestion des cookies
Club utilise des cookies et des technologies similaires pour faire fonctionner correctement le site web et vous fournir une meilleure expérience de navigation.
Ci-dessous vous pouvez choisir quels cookies vous souhaitez modifier :
Cookies techniques et fonctionnels
Ces cookies sont indispensables au bon fonctionnement du site internet et vous permettent par exemple de vous connecter. Vous ne pouvez pas désactiver ces cookies.
Cookies analytiques
Ces cookies collectent des informations anonymes sur l'utilisation de notre site web. De cette façon, nous pouvons mieux adapter le site web aux besoins des utilisateurs.
Cookies marketing
Ces cookies partagent votre comportement sur notre site web avec des parties externes, afin que vous puissiez voir des publicités plus pertinentes de Club sur des plateformes externes.
Une erreur est survenue, veuillez réessayer plus tard.
Il y a trop d’articles dans votre panier
Vous pouvez encoder maximum 250 articles dans votre panier en une fois. Supprimez certains articles de votre panier ou divisez votre commande en plusieurs commandes.
Design patterns and architectures for building production quality applications using functional programming.
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.
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 lays out a comprehensive and complete approach to software design that utilizes the powerful and fascinating ideas of functional programming. Its examples are in Haskell, but its universal principles can be put into practice with any functional programming language. 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.
About the technology
Functional programming affects every aspect of software development, from how you write individual lines of code to the way you organize your applications and data. In fact, many standard OO patterns are unsuitable or unnecessary for FP applications. This book will reorient your thinking to align software design with a functional programming style. The examples are in Haskell, but the ideas are universal.
About the book
Functional Design and Architecture teaches you how to design software following the unique principles of functional programming. You’ll explore FP-first paradigms like Functional Declarative Design by building interesting applications, including a fun spaceship control simulator and a full-fledged backend framework. This is an opinionated book and you may disagree on some points. But we guarantee it will make you think in a fresh way about how you design software.
What's inside
• Control code complexity with functional interfaces • Architectures, subsystems, and services for functional languages • Domain-driven design using free monads • Property-based and automatic whitebox testing • Recalibrate OO designs for functional environments
About the reader
For experienced developers who know a functional language.
About the author
Alexander Granin is a senior software engineer and architect with more than 15 years of experience. He is an international speaker, researcher, and book author.
The technical editor on this book was Arnaud Bailly.
Table of Contents
Part 1 1 What is software design? 2 The basics of functional declarative design Part 2 3 Drafting the MVP application 4 End-to-end design Part 3 5 Embedded domain-specific languages 6 Domain modeling with free monads Part 4 7 Stateful applications 8 Reactive applications Part 5 9 Concurrent application framework 10 Foundational subsystems 11 Persistence: Key–value databases 12 Persistence: Relational databases 13 Error handling and dependency inversion 14 Business logic design 15 Testing A Plenty of monads B Stacking monads with monad transformers C Word statistics example with monad transformers D Automatic white-box testing