Design Patterns: Elements of Reusable Object-Oriented Software
Tác giả: Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (Gang of Four)
Năm: 1994
Thể loại: Software Engineering
Giới thiệu
Cuốn sách kinh điển nhất về design patterns, giới thiệu 23 patterns cốt lõi được chia làm 3 nhóm:
Creational Patterns
- Singleton — đảm bảo một class chỉ có một instance
- Factory Method — uỷ thác việc tạo object cho subclass
- Abstract Factory — tạo họ các object liên quan
- Builder — xây dựng object phức tạp từng bước
- Prototype — tạo object mới bằng cách clone
Structural Patterns
- Adapter — chuyển interface này sang interface khác
- Decorator — thêm chức năng mà không sửa class g ốc
- Proxy — kiểm soát truy cập đến object
- Facade — cung cấp interface đơn giản cho hệ thống phức tạp
Behavioral Patterns
- Observer — thông báo thay đổi đến nhiều đối tượng
- Strategy — thay đổi thuật toán linh hoạt
- Command — đóng gói request thành object
"Program to an interface, not an implementation."