Now that we've covered ways of architecting source code for flexibility, we'll take that a step further and explore how queues can be used to provide natural interface definitions for data exchange.
In this chapter, we'll develop a simple command queue that can be accessed from multiple physical interfaces. By the end of this chapter, you'll have an excellent understanding of why using common queue definitions is desirable, as well as how to implement both sides of an extremely flexible command queue. This will help you create flexible architectures with implementations that aren't tied to underlying hardware or physical interfaces.
We will cover the following topics in this chapter:
- Understanding queues as interfaces
- Creating a command queue
- Reusing a queue definition for a new target