Overview
Tổng quan về Structural Design Patterns — tổ chức (Compose) các class và object thành cấu trúc lớn hơn nhưng vẫn linh hoạt và hiệu quả
Adapter
Chuyển đổi interface của class này thành interface khác để các class không tương thích có thể hoạt động cùng nhau — ví dụ tích hợp thanh toán third-party cho Coffee Shop trong C#
Bridge
Tách abstraction khỏi implementation để cả hai thay đổi độc lập — phương pháp pha chế và máy pha của Coffee Shop trong C#
Composite
Tổ chức object thành cấu trúc cây và xử lý item đơn lẻ và nhóm một cách thống nhất — menu và combo của Coffee Shop trong C#
Decorator
Thêm trách nhiệm cho object động mà không cần subclassing — topping và add-on của Coffee Shop trong C#
Facade
Cung cấp interface đơn giản cho subsystem phức tạp — orchestration đặt hàng của Coffee Shop trong C#
Flyweight
Chia sẻ object tinh granularity hiệu quả để giảm thiểu bộ nhớ — thuộc tính cà phê dùng chung của Coffee Shop trong C#
Proxy
Kiểm soát truy cập đến object khác thông qua placeholder — lazy-loading, caching, và access control của Coffee Shop trong C#