By reading this book, you will learn the following:
Chapter 1, Node.js Design Fundamentals, serves as an introduction to the world of Node.js application design by showing the patterns at the core of the platform itself. It covers the reactor pattern, the callback pattern, the module pattern, and the observer pattern.
Chapter 2, Asynchronous Control Flow Patterns, introduces a set of patterns and techniques for efficiently handling asynchronous control flow in Node.js. This chapter teaches you how to mitigate the "callback hell" problem using plain JavaScript, the async library, Promises, and Generators.
Chapter 3, Coding with Streams, dives deeply into one of the most important patterns in Node.js: Streams. It shows you how to process data with transform streams and how to combine them into different layouts.
Chapter 4, Design Patterns, deals with a controversial topic: traditional design patterns in Node.js. It covers the most popular conventional design patterns and shows you how unconventional they might look in Node.js.
Chapter 5, Wiring Modules, analyzes the different solutions for linking the modules of an application together. In this chapter, you will learn design patterns such as Dependency Injection and Service locator.
Chapter 6, Recipes, takes a problem-solution approach to show you how some common coding and design challenges can be solved with ready-to-use solutions.
Chapter 7, Scalability and Architectural Patterns, teaches you the basic techniques and patterns for scaling a Node.js application.
Chapter 8, Messaging and Integration Patterns, presents the most important messaging patterns, teaching you how to build and integrate complex distributed systems using ZMQ and AMQP.