Behavioral Pattern: Observer

Xem: 2800    Tải: 0   Thảo luận: 0   Mục: C / C++ / MFC   Lĩnh vực: Máy tính - công nghệ

0 điểm   ( 9 đánh giá ) File đã được kiểm thử


Khái niệm:

Định nghĩa một sự phụ thuộc 1-nhiều giữa các đối tượng để khi một đối tượng thay đổi trạng thái, tất cả phụ thuộc của nó được thông báo và cập nhật một cách tự động

Mức độ sử dụng: cao

UML Class Diagram

Những lớp và/hoặc đối tượng trong mẫu thiết kế này:

- Subject (Stock):

     + biết các observer của nó. Bất kì đối tượng Observer nào cũng có thể quan sát chủ thế của nó.

     + cung cấp một interface để đính kèm và gỡ đính kèm các đối tượng Observer.

- ConcreteSubject (IBM):

     + lưu trữ trạng thái mối quan tâm vào ConcreteObserver

     + gửi một thông báo đến các observer của nó khi nó thay đổi trạng thái

- Observer (IInvestor): định nghĩa một interface đang cập nhật cho các đối tượng nên được thông báo khi có thay đổi trong một subject.

- ConcreteObserver (Investor):

     + bảo trì một tham chiếu đến một đối tượng ConcreteSubject

     + lưu trữ trạng thái luôn nhất quán với trạng thái của subject

     + thực thi interface cập nhật của Observer để giữ trạng thái của nó đồng nhất với trạng thái của subject

Observer: khi nào sử dụng và sử dụng ở đâu

Observer là một trong hai mẫu thiết kế của Gang-of-Four (mẫu thiết kế khác là Iterator) được dùng không chỉ trong các thư viện .NET framework, mà còn trong bản thân các ngôn ngữ .NET. Khi lập trình một ứng dụng Web hoặc một ứng dụng Windows, bạn thường làm việc với các event và event handler. Các event và Delegate,, hoạt động như Subject và các Observer như được định nghĩa một cách tương ứng trong mẫu thiết kế Observer.

Mẫu thiết kế Observer là cơ sở cho các thiết kế hướng đối tượng tốt vì nó hỗ trợ kiểu loose coupling. Các observer đăng kí và gỡ đăng kí bản thân chúng cũng các subject duy trì một danh sách các observer được quan tâm. Subject này không phụ thuộc vào bất kì observer riêng biệt nào miễn là các delegate là của đúng kiểu dành cho event đó.

Demo

Behavioral Pattern: Observer

Behavioral Pattern: Observer Đăng ngày 18-02-2014  Định nghĩa một sự phụ thuộc 1-nhiều giữa các đối tượng để khi một đối tượng thay đổi trạng thái, tất cả phụ thuộc của nó được thông báo và cập nhật một cách tự động 5/10 2800

Thảo luận:

Để bình luận bạn phải đăng nhập thành viên.

File tương tự

Files cùng mục

 

File tải nhiều nhất

Megacode.vn - Thư viện mã nguồn chia sẻ, tải file cho cộng đồng
Copyright © 2013-2016. All rights reserved. Bản quyền thuộc VinaGon
Địa chỉ: Số 38 Hàng Bè, Hàng Bạc, Hoàn Kiếm, Hà Nội.
Văn phòng giao dịch: Phòng 28, Tầng 6, HH1A Linh Đàm, Hoàng Mai, Hà Nội
Email: info@vinagon.com | Website: www.vinagon.com | Điện thoại: (+844) 6. 32.979.36;
logo megacode

Megacode đã đăng ký với Bộ Công Thương
Thư viện mã nguồn mở lớn nhất Việt Nam.



Hỗ trợ khách hàng trên Megacode
Hỗ trợ kỹ thuật cho thành viên:
Tổng đài: (+84) 246. 32.979.36
Số di động (Hotline): 0969.091.265
Thời gian làm việc:
Sáng: 8h-12h; Chiều: 13h30-17h30
(Nghỉ chiều T7, CN và các ngày lễ, tết)
Chat với Megacode
https://www.facebook.com/megacodevn