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

109

Chương 3: Miền ứng dụng, cơ chế phản chiếu, và siêu dữ liệu

void Start();

void Stop();

}

// Lớp cơ sở trừu tượng mà tất cả các plug-in phải dẫn xuất từ đây.

public abstract class AbstractPlugin : IPlugin {

// Chuỗi chứa lời mô tả plug-in.

private string description = "";

// Thuộc tính dùng để lấy lời mô tả plug-in.

public string Description {

get { return description; }

set { description = value; }

}

// Khai báo các thành viên của giao diện IPlugin.

public abstract void Start();

public abstract void Stop();

}

// Một hiện thực đơn giản cho giao diện IPlugin

// để minh họa lớp PluginFactory.

public class SimplePlugin : AbstractPlugin {

// Hiện thực phương thức Start.

public override void Start() {

Console.WriteLine(Description + ": Starting...");

}

// Hiện thực phương thức Stop.

public override void Stop() {

Console.WriteLine(Description + ": Stopping...");

}

}

// Factory dùng để tạo các đối tượng của IPlugin.

public sealed class PluginFactory {

public static IPlugin CreatePlugin(string assembly,

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.