Skip to main content

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."