Mẫu cặp "Nhà xuất bản-người đăng ký" (a.k.a "Quan sát viên"), có thể được triển khai khác nhau trong từng khung lập trình (ngôn ngữ), do đó, được thiết kế khác nhau, trong U.M.L. Bất kỳ cách nào, khái niệm, khi một sự kiện ("tín hiệu" hoặc "tin nhắn") được gửi đi, từ một nhà xuất bản (hay còn gọi là "server") tới bất kỳ người đăng ký nào ("khách hàng"), đôi khi, một "id" để nhận dạng một sự kiện cụ thể, từ các sự kiện khác, các sự kiện được cung cấp và một số thông số hoặc dữ liệu bổ sung của nó cũng được gửi.
Khi các câu trả lời khác đã đề cập, bạn có thể yêu cầu biểu đồ (lớp) mô tả mô hình tĩnh. (Lưu ý rằng có một "tập hợp", không phải "sáng tác", "hiệp hội" có thể được sử dụng):
..............................
+--------------------------+..
| <<Publisher>> |..
| VectorDrawApp |..
+--------------------------+..
| [+] create() |..
+--------------------------+..
| [+] send(EventArgs e) |..
+------------+-------------+..
............/ \...............
............\ /...............
.............|................
.............|................
+------------+-------------+..
| <<Subscriber>> |..
| Figure |..
+--------------------------+..
| [+] create() |..
+--------------------------+..
| [+] receive(EventArgs e) |..
+--------------------------+..
..............................
+--------------------------+..
| <<Event>> |..
| EventArgs |..
+--------------------------+..
| [+] Sender: TObject |..
+--------------------------+..
| [+] receive(EventArgs e) |..
+------------+-------------+..
.............|................
.............+................
............/ \...............
...........+---+..............
.............|................
+------------+-------------+..
| <<Event>> |..
| FillEventArgs: EventArgs|..
+--------------------------+..
| [+] ForeColor |..
| [+] BackColor |..
| [+] FillStyle |..
+--------------------------+..
..............................
Và cũng có thể, bạn có thể yêu cầu một sơ đồ để mô tả các mô hình động:
.........................................
+----------------+..+----------------+...
| <<Publisher>> |..| <<Subscriber>> |...
| VectorDrawApp |..| Figure |...
+--------+-------+..+--------+-------+...
.........|...................|...........
.......+-+-+...............+-+-+.........
.......| |...send(fill)..| |..Fill().
.......| +==============>+ +---+.....
.......| |...............| |...|.....
.......| |...<<return>>..| |...|.....
.......| |<--------------+ +<--+.....
.......| |...............| |.........
.......+-+-+...............+-+-+.........
.........|...................|...........
.........X...................X...........
.........................................
Khuôn mẫu, trong UML, là "bạn bè uống rượu" của bạn, và cho phép bạn mô tả hoặc hạn chế những gì diễn viên, đối tượng, lớp học, đặc điểm hoặc giao diện thực hiện.
Khi bạn sử dụng chúng, làm nổi bật khi một đối tượng hoặc lớp, là lớp con của một lớp, hoặc thực hiện, một giao diện có liên quan đến các hoạt động, được được mô hình, ngay cả khi có các lớp học phụ huynh khác, hoặc giao diện.
Chúc mừng.
Yêu những biểu đồ ASCII quyến rũ đó! +1 –