Logical pipes
Logical pipes are only responsible for the logical grouping of operation types. This way, we are splitting the schema tree into a set of smaller sub-trees.
By grouping schema parts based on their domain, we can easily navigate and discuss our schema structure with others. This approach helps us maintain a modular and organized architecture, making it easier to add or modify functionality as our application evolves. We can think of these domain-specific types as containers that encapsulate related data and operations, providing a logical separation of concerns.
In the following example, I will present you with a system for reading information in a home that utilizes Internet of Things (IoT) devices, such as individual solar-charged lights connected via Wi-Fi. The division into domains will allow us to separate the specific domains that household members have access to.
Figure 4.2: Visual diagram representing the home cloud system in GraphQL...