![Phân tích tư tưởng của nhân dân qua đoạn thơ: Những người vợ nhớ chồng… Những cuộc đời đã hóa sông núi ta trong Đất nước của Nguyễn Khoa Điềm](https://timtailieu.net/upload/document/136415/phan-tich-tu-tuong-cua-nhan-dan-qua-doan-tho-039-039-nhung-nguoi-vo-nho-chong-nhung-cuoc-doi-da-hoa-song-nui-ta-039-039-trong-dat-nuoc-cua-nguyen-khoa-136415.jpg)
Các giao diện và mẫu phần cuối
Số trang: 9
Loại file: pdf
Dung lượng: 184.39 KB
Lượt xem: 10
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Hiện thực đối số sự kiện tùy biến Khi dựng lên một sự kiện, bạn cần truyền một trạng thái đặc-trưng-sự-kiện cho các phương thức thụ lý sự kiện. Tạo một lớp đối số sự kiện tùy biến dẫn xuất từ lớp System.EventArg.
Nội dung trích xuất từ tài liệu:
Các giao diện và mẫu phần cuối Hiện thực đối số sự kiện tùy biến Khi dựng lên một sự kiện, bạn cần truyền một trạng thái đặc-trưng-sự-kiện cho các phương thức thụ lý sự kiện.▪ Tạo một lớp đối số sự kiện tùy biến dẫn xuất từ lớp System.EventArg. Khi dựng lên sự kiện, hãy tạo một thể hiện của lớp đối số sự kiện và truyền nó cho các phương thức thụ lý sự kiện.Khi khai báo các kiểu sự kiện, thông thường bạn sẽ cần truyền trạng thái đặc-trưng-sự-kiện cho các phương thức thụ lý sự kiện. Để tạo một lớp đối số sự kiện tùy biến tuân theomẫu Event do .NET Framework định nghĩa, bạn cần: 1. Dẫn xuất lớp đối số sự kiện tùy biến từ lớp EventArgs. Lớp EventArgs không chứa dữ liệu và được sử dụng cùng với các sự kiện không cần truyền trạng thái. 2. Đặt một tên có ý nghĩa cho lớp đối số sự kiện tùy biến, kết thúc bằng từ EventArgs; chẳng hạn, DiskFullEventArgs hay MailReceivedEventArgs. 3. Đánh dấu lớp đối số sự kiện là sealed nếu bạn không muốn các lớp đối số sự kiện khác có thể thừa kế nó. 4. Hiện thực thêm các thuộc tính và các thành viên dữ liệu để hỗ trợ trạng thái sự kiện mà bạn cần truyền cho các phương thức thụ lý sự kiện. Tốt nhất là làm cho trạng thái sự kiện trở nên bất biến (immutable), như vậy bạn nên sử dụng các thành viên dữ liệu private readonly và sử dụng các thuộc tính public để cho phép truy xuất chỉ- đọc đến các thành viên dữ liệu này. 5. Hiện thực một phương thức khởi dựng public hỗ trợ cấu hình ban đầu của trạng thái sự kiện. 6. Làm cho lớp đối số sự kiện của bạn trở nên khả-tuần-tự-hóa (serializable) để bộ thực thi có thể marshal các thể hiện của nó qua các biên miền ứng dụng và biên máy. Áp dụng đặc tính System.SerializableAttribute thường là đã đủ cho các lớp đối số sự kiện. Tuy nhiên, nếu lớp đối số sự kiện có các yêu cầu tuần tự hóa đặc biệt, bạn phải hiện thực giao diện System.Runtime.Serialization.ISerializable (xem mục 16.1 để biết cách làm cho một lớp trở nên khả-tuần-tự-hóa).Đoạn mã dưới đây trình bày một lớp đối số sự kiện tùy biến có tên làMailReceivedEventArgs. Giả sử có một mail-server truyền các thể hiện của lớpMailReceivedEventArgs cho các phương thức thụ lý sự kiện nhận một thông điệp e-mail.Lớp này chứa các thông tin về người gửi và chủ đề của thông điệp e-mail.using System;[Serializable]public sealed class MailReceivedEventArgs : EventArgs { // Các thành viên private readonly giữ trạng thái sự kiện // (được phân bổ cho tất cả các phương thức thụ lý sự kiện). // Lớp MailReceivedEventArgs sẽ cho biết ai đã gửi mail // và chủ đề là gì. private readonly string from; private readonly string subject; // Phương thức khởi dựng (khởi tạo trạng thái sự kiện). public MailReceivedEventArgs(string from, string subject) { this.from = from; this.subject = subject; } // Các thuộc tính chỉ-đọc cho phép truy xuất // trạng thái sự kiện. public string From { get { return from; } } public string Subject { get { return subject; } }} Hiện thực mẫu Singleton Bạn cần bảo đảm chỉ có một thể hiện của một kiểu tồn tại ở một thời điểm cho trước và thể hiện đó là khả-truy-xuất đối với tất cả các phần tử của ứng dụng.▪ Hiện thực kiểu này theo mẫu Singleton như sau: Hiện thực một thành viên tĩnh private để giữ một tham chiếu đến thể hiện 7. của kiểu. 8. Hiện thực một thuộc tính tĩnh khả-truy-xuất-công-khai để cho phép truy xuất chỉ-đọc đến thể hiện. 9. Hiện thực một phương thức khởi dựng private để mã lệnh không thể tạo thêm các thể hiện của kiểu.Trong tất cả các mẫu được biết đến, có lẽ mẫu Singleton được biết đến nhiều nhất vàthường được sử dụng nhất. Mục đích của mẫu Singleton là bảo đảm chỉ có một thể hiệncủa một kiểu tồn tại ở một thời điểm cho trước và cho phép truy xuất toàn cục đến cácchức năng của thể hiện đó. Đoạn mã dưới đây trình bày một hiện thực của mẫu Singletoncho một lớp có tên là SingletonExample:public class SingletonExample { // Thành viên tĩnh dùng để giữ một tham chiếu đến thể hiện singleton. private static SingletonExample instance; // Phương thức khởi dựng tĩnh dùng để tạo thể hiện singleton. // Một cách khác là sử dụng Lazy Initialization trong // thuộc tính Instance. static SingletonExample () { instance = new SingletonExample(); } // Phương thức khởi dựng private dùng để ngăn mã lệnh tạo thêm // các thể hiện của kiểu singleton. private SingletonExample () {} // Thuộc tính public cho phép truy xuất đến thể hiện singleton. public static SingletonExample Instance { ...
Nội dung trích xuất từ tài liệu:
Các giao diện và mẫu phần cuối Hiện thực đối số sự kiện tùy biến Khi dựng lên một sự kiện, bạn cần truyền một trạng thái đặc-trưng-sự-kiện cho các phương thức thụ lý sự kiện.▪ Tạo một lớp đối số sự kiện tùy biến dẫn xuất từ lớp System.EventArg. Khi dựng lên sự kiện, hãy tạo một thể hiện của lớp đối số sự kiện và truyền nó cho các phương thức thụ lý sự kiện.Khi khai báo các kiểu sự kiện, thông thường bạn sẽ cần truyền trạng thái đặc-trưng-sự-kiện cho các phương thức thụ lý sự kiện. Để tạo một lớp đối số sự kiện tùy biến tuân theomẫu Event do .NET Framework định nghĩa, bạn cần: 1. Dẫn xuất lớp đối số sự kiện tùy biến từ lớp EventArgs. Lớp EventArgs không chứa dữ liệu và được sử dụng cùng với các sự kiện không cần truyền trạng thái. 2. Đặt một tên có ý nghĩa cho lớp đối số sự kiện tùy biến, kết thúc bằng từ EventArgs; chẳng hạn, DiskFullEventArgs hay MailReceivedEventArgs. 3. Đánh dấu lớp đối số sự kiện là sealed nếu bạn không muốn các lớp đối số sự kiện khác có thể thừa kế nó. 4. Hiện thực thêm các thuộc tính và các thành viên dữ liệu để hỗ trợ trạng thái sự kiện mà bạn cần truyền cho các phương thức thụ lý sự kiện. Tốt nhất là làm cho trạng thái sự kiện trở nên bất biến (immutable), như vậy bạn nên sử dụng các thành viên dữ liệu private readonly và sử dụng các thuộc tính public để cho phép truy xuất chỉ- đọc đến các thành viên dữ liệu này. 5. Hiện thực một phương thức khởi dựng public hỗ trợ cấu hình ban đầu của trạng thái sự kiện. 6. Làm cho lớp đối số sự kiện của bạn trở nên khả-tuần-tự-hóa (serializable) để bộ thực thi có thể marshal các thể hiện của nó qua các biên miền ứng dụng và biên máy. Áp dụng đặc tính System.SerializableAttribute thường là đã đủ cho các lớp đối số sự kiện. Tuy nhiên, nếu lớp đối số sự kiện có các yêu cầu tuần tự hóa đặc biệt, bạn phải hiện thực giao diện System.Runtime.Serialization.ISerializable (xem mục 16.1 để biết cách làm cho một lớp trở nên khả-tuần-tự-hóa).Đoạn mã dưới đây trình bày một lớp đối số sự kiện tùy biến có tên làMailReceivedEventArgs. Giả sử có một mail-server truyền các thể hiện của lớpMailReceivedEventArgs cho các phương thức thụ lý sự kiện nhận một thông điệp e-mail.Lớp này chứa các thông tin về người gửi và chủ đề của thông điệp e-mail.using System;[Serializable]public sealed class MailReceivedEventArgs : EventArgs { // Các thành viên private readonly giữ trạng thái sự kiện // (được phân bổ cho tất cả các phương thức thụ lý sự kiện). // Lớp MailReceivedEventArgs sẽ cho biết ai đã gửi mail // và chủ đề là gì. private readonly string from; private readonly string subject; // Phương thức khởi dựng (khởi tạo trạng thái sự kiện). public MailReceivedEventArgs(string from, string subject) { this.from = from; this.subject = subject; } // Các thuộc tính chỉ-đọc cho phép truy xuất // trạng thái sự kiện. public string From { get { return from; } } public string Subject { get { return subject; } }} Hiện thực mẫu Singleton Bạn cần bảo đảm chỉ có một thể hiện của một kiểu tồn tại ở một thời điểm cho trước và thể hiện đó là khả-truy-xuất đối với tất cả các phần tử của ứng dụng.▪ Hiện thực kiểu này theo mẫu Singleton như sau: Hiện thực một thành viên tĩnh private để giữ một tham chiếu đến thể hiện 7. của kiểu. 8. Hiện thực một thuộc tính tĩnh khả-truy-xuất-công-khai để cho phép truy xuất chỉ-đọc đến thể hiện. 9. Hiện thực một phương thức khởi dựng private để mã lệnh không thể tạo thêm các thể hiện của kiểu.Trong tất cả các mẫu được biết đến, có lẽ mẫu Singleton được biết đến nhiều nhất vàthường được sử dụng nhất. Mục đích của mẫu Singleton là bảo đảm chỉ có một thể hiệncủa một kiểu tồn tại ở một thời điểm cho trước và cho phép truy xuất toàn cục đến cácchức năng của thể hiện đó. Đoạn mã dưới đây trình bày một hiện thực của mẫu Singletoncho một lớp có tên là SingletonExample:public class SingletonExample { // Thành viên tĩnh dùng để giữ một tham chiếu đến thể hiện singleton. private static SingletonExample instance; // Phương thức khởi dựng tĩnh dùng để tạo thể hiện singleton. // Một cách khác là sử dụng Lazy Initialization trong // thuộc tính Instance. static SingletonExample () { instance = new SingletonExample(); } // Phương thức khởi dựng private dùng để ngăn mã lệnh tạo thêm // các thể hiện của kiểu singleton. private SingletonExample () {} // Thuộc tính public cho phép truy xuất đến thể hiện singleton. public static SingletonExample Instance { ...
Tìm kiếm theo từ khóa liên quan:
công nghệ thông tin kĩ thuật lập trình ngôn ngữ lập trình ngôn ngữ C# C# Các giao diện và mẫu phần cuốiTài liệu liên quan:
-
52 trang 437 1 0
-
Top 10 mẹo 'đơn giản nhưng hữu ích' trong nhiếp ảnh
11 trang 325 0 0 -
74 trang 307 0 0
-
96 trang 303 0 0
-
Báo cáo thực tập thực tế: Nghiên cứu và xây dựng website bằng Wordpress
24 trang 295 0 0 -
Tài liệu dạy học môn Tin học trong chương trình đào tạo trình độ cao đẳng
348 trang 290 1 0 -
Đồ án tốt nghiệp: Xây dựng ứng dụng di động android quản lý khách hàng cắt tóc
81 trang 289 0 0 -
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 281 0 0 -
EBay - Internet và câu chuyện thần kỳ: Phần 1
143 trang 277 0 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 274 0 0