CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 642

642
Chương 16: Các giao diện và mẫu thông dụng

public string Subject { get { return subject; } }

}

9.

9.

Hi n th c m u Singleton

ự ẫ

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

của kiểu.

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.

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ện củ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ác chứ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 Singleton cho 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 {

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.