Testing and Asynchronous Design Patterns
In the previous chapter we discussed some of the practices you want to avoid in order to obtain a performant asynchronous solution. Now our focus changes, as we explore some standard ways of solving typical problems. When you identify similar scenarios in your own context you’ll be able to adapt the code to cover your needs.
With the emergence of new use cases comes a growing number of software development patterns. For example, the current artificial intelligence (AI) wave is bringing new challenges related to adoption of the new technologies, for which new patterns may be appropriate, while other patterns are falling out of favor because of the changing software environment. The patterns selected here are by no means exhaustive but they cover the situations that commonly arise in many asynchronous implementations.
We will start the chapter with a summary of testing asynchronous code, given that previously we have profiled the...