Book Image

C++ Reactive Programming

By : Praseed Pai, Peter Abraham
Book Image

C++ Reactive Programming

By: Praseed Pai, Peter Abraham

Overview of this book

Reactive programming is an effective way to build highly responsive applications with an easy-to-maintain code base. This book covers the essential functional reactive concepts that will help you build highly concurrent, event-driven, and asynchronous applications in a simpler and less error-prone way. C++ Reactive Programming begins with a discussion on how event processing was undertaken by different programming systems earlier. After a brisk introduction to modern C++ (C++17), you’ll be taken through language-level concurrency and the lock-free programming model to set the stage for our foray into the Functional Programming model. Following this, you’ll be introduced to RxCpp and its programming model. You’ll be able to gain deep insights into the RxCpp library, which facilitates reactive programming. You’ll learn how to deal with reactive programming using Qt/C++ (for the desktop) and C++ microservices for the Web. By the end of the book, you will be well versed with advanced reactive programming concepts in modern C++ (C++17).
Table of Contents (20 chapters)
Title Page
Copyright and Credits
Packt Upsell
Contributors
Preface
Index

The Design pattern redux


The GOF pattern and reactive programming do have a deeper connection than that is obvious from the surface. The GOF pattern is mostly concerned with writing OOP-based software . Reactive programming is a combination of functional programming, stream programming, and concurrent programming. We already learned that reactive programming rectifies some deficiencies in the classic GOF Observer pattern(in the first section of Chapter 5, Introduction to Observables, we covered this issue).

Writing OOP software is basically about modeling hierarchies, and from the pattern world, the Composite pattern is the way to model Part/Whole hierarchies. Wherever there is a Composite (which models a structure), a collection of Visitor pattern implementations (to model behavior ) will follow suit. The primary purpose of Visitor pattern is processing Composites. In other words, the Composite-Visitor duo is the canonical model  for writing object oriented systems.

The Visitor implementations...