Observer pattern là một mô hình phát triển phần mềm trong đó có thể hiện mối quan hệ MỘT và NHIỀU, ví dụ một đối đượng thay đổi thì các đối tượng khác độc lập với nó được thông báo một cách tự động. Thiết kế theo mô hình này thì có một đối tượng gọi là CHỦ THỂ (Subject) và các đối tượng độc lập khác gọi là đối tượng quan sát (Observer) chúng được giữ ở một danh sách độc lập, chúng được thông báo tự động khi trạng thái thay đổi bằng cách gọi một hàm của chúng.  

Mô hình này là cơ sở để các ngôn ngữ lập trình hiện đại như C#, Java ... xây dựng lên khái niệm lập trình theo sự kiện. Đồ thì hoạt động của nó theo một ví dụ sau:

lap-trinh-observer

Trong ví dụ trên thì:

  • ROSE là Subject - chủ thể.
  • BILLY và JACK là đối tượng quan sát, họ đăng ký với ROSE là sẽ nhận các thông tin từ ROSE.
  • Lúc đó khi ROSE thông báo (một tình trạng nào đó thay đổi) lập tức BILLY và JACK nhận được thông điệp.

Đăng ký nhận bài viết mới