2012-01-12 32 views
5

Trong những ngày đại học của tôi, tôi chưa bao giờ nhận ra những mẫu nào có trong Java API. Bây giờ tại nơi làm việc, tôi đã xem qua mô hình Ủy quyền trong Objective C n Cocoa trên iOS, nơi một màn hình tự đặt làm đại biểu trên màn hình sắp tới sao cho màn hình đó có thể truyền một số thông điệp đến đại biểu đó và có thể thực hiện một số hành động khi quay lại màn hình trước đó.ActionListener có phải là ví dụ về mẫu Ủy quyền không?

Tôi nhận ra rằng tôi sử dụng để làm điều gì đó tương tự khi tôi sử dụng để vượt qua "điều này" như ActionListener [bằng cách triển khai giao diện] cho JButton và nó sẽ tự động gọi actionPerformed được thực hiện bởi tôi trong lớp này và do đó tôi có thể thay đổi bất kỳ dữ liệu cá thể nào trong lớp JFrame của tôi.

Vậy ActionListener có phải là ví dụ về đại biểu không Nếu tôi đúng?

EDIT: Như được đề cập chính xác bên dưới, Đây là mẫu Observer. Chúng tôi không đặt ActionListener chúng tôi thêm một. Do đó có thể có nhiều Người nghe đến hành động đó.

Trả lời

6

ActionListener là ví dụ về số observer pattern. Bạn đăng ký các nhà quan sát (hoặc người nghe) trên một thành phần được gọi khi một sự kiện cụ thể xảy ra.

+0

Đúng vậy. Trước khi tôi xóa bài viết của mình, tôi đã đề cập đến mẫu lệnh của nó. Không phải vậy. Hành động là, nhưng không phải ActionListener. – Xorty

+0

Nhưng tôi chỉ có thể đặt một người quan sát cho mỗi JButton. không nhiều. Chúng ta có phương thức setActionListener không addActionListener để thêm nhiều. –

+1

JButton của tôi có phương thức addActionListener. Xấu hổ của bạn bị hạn chế. – MeBigFatGuy

Các vấn đề liên quan