The facade pattern exposes selected resource attributes through module outputs, giving dependent modules a simplified abstraction instead of direct access to the low-level resource. section 4.3
Storage bucket and access control
A storage-bucket module outputs the bucket name or object. An access-control module consumes that facade to configure permissions. Adding location later can extend the facade without changing the access module. section 4.3
Choose the facade when:
- One low-level module serves a few high-level modules. section 4.6
- You want low implementation and troubleshooting effort while accepting weaker scalability and change isolation. section 4.6
- You need to evolve modules through dependency injection while preserving idempotency and composability. section 4.6
Figure 4.8 The facade simplifies attributes to the name of the storage bucket for use by the access control module.
Shows how the facade reduces a storage bucket's attributes to the name required by an access-control module. section 4.3


