Functional Design And Architecture

Download Functional Design And Architecture PDF/ePub or read online books in Mobi eBooks. Click Download or Read Online button to get Functional Design And Architecture book now. This website allows unlimited access to, at the time of writing, more than 1.5 million titles, including hundreds of thousands of titles in various foreign languages.
Functional Design and Architecture

Author: Alexander Granin
language: en
Publisher: Simon and Schuster
Release Date: 2024-11-05
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. 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. You'll explore functional design by looking at object-oriented principles you might already know, and learn how they can be reapplied to a functional environment. By the time you're done, you'll be ready to apply the brilliant innovations of the functional world to serious software projects
Functional Design and Architecture

Author: Alexander Granin
language: en
Publisher: Simon and Schuster
Release Date: 2024-11-19
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
Enterprise Architecture Function

This book provides a method to plan, develop, validate, or evolve the design of an enterprise architecture function so that it fully meets the organization’s needs. The reader will benefit from this book in two ways. First, it provides a structured overview and orientation to the subject of architecture from an architecture function perspective. Second, it guides through the process of planning, building, and operating your own architecture organization based on a generic architecture function blueprint presented in the form of a pattern language offering a structured means for navigating, contextualizing, combining, and composing the architecture function patterns. The book is structured in six chapters. Chapter 1 “Introduction” explains the starting position and objectives of the book and introduces key concepts that will be explained further in subsequent chapters. Chapter 2 “Architecture Function Pattern Language” introduces the concepts of pattern, pattern catalogue, pattern topology, and ontology and explains how these concepts are combined to form a pattern language for planning, designing, and operating an architecture function. Next, Chapter 3 “Architecture Function – Context“ introduces concepts that are crucial for understanding the challenges that an architecture function faces and presents a generic schema for the business organizations and value chain. Chapter 4 “Architecture Function – Challenge” looks at an architecture function from a black box perspective and outlines the expectations and requirements that companies place on architecture organizations. It discusses the building blocks of an architecture function, the services it provides along the enterprise value chain, and the quality attributes that enterprises expect from their functions. Chapter 5 “Architecture Function – Constitution” then shifts from a black-box perspective to a white-box perspective and outlines the generic design of an architecture function in order to realize functional and quality-related requirements. Chapter 6 “Pattern Catalogue“ eventually introduces the pattern catalogue with a total of 48 architecture function patterns. These patterns suggest designs for collaboration between the architecture function and enterprise organizations, for the elaboration and development of enterprise services along the enterprise value chain, or for aligning architecture governance with enterprise governance. The book is intended for a broad readership, including enterprise, domain, and solution architects, lecturers and students, and anyone else interested in understanding the value proposition, responsibilities, outcomes, methods, and practices of architecture functions. It introduces the basic concepts and theories needed to understand the pattern language presented and the patterns it summarizes.