12 Functional design for concurrent systems
This chapter covers
- Splitting the software into isolated components
- Treating messages as streams of data
- Transforming reactive streams
- Using stateful software components
- Benefits of reactive streams in concurrent and distributed system design
The biggest problem in software development is handling complexity. Software systems tend to grow significantly over time and quickly outgrow original designs. When the features we need implement collide with the design, we must either reimplement significant portions of the system or introduce horrible quick-and-dirty hacks to make things work.
This problem with complexity becomes more evident in software that has different parts executing concurrently—from ...
Get Functional Programming in C++ now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.