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

647

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

// Phương thức thụ lý sự kiện thay đổi nhiệt độ.

public void TemperatureChange(Thermostat sender,

TemperatureChangeEventArgs temp) {

System.Console.WriteLine

("ChangeObserver: Old={0}, New={1}, Change={2}",

temp.OldTemperature, temp.NewTemperature,

temp.NewTemperature - temp.OldTemperature);

}

}

// Observer hiển thị thông tin về nhiệt dộ trung bình

// khi có một sự kiện thay đổi nhiệt độ xảy ra.

public class TemperatureAverageObserver {

// Sum chứa tổng các giá trị nhiệt độ.

// Count chứa số lần sự kiện thay đổi nhiệt độ xảy ra.

private int sum = 0, count = 0;

// Phương thức khởi dựng (nhận một tham chiếu đến đối tượng

// Thermostat cần được TemperatureAverageObserver giám sát).

public TemperatureAverageObserver (Thermostat t) {

// Tạo một thể hiện ủy nhiệm TemperatureEventHandler và

// đăng ký nó với Thermostat đã được chỉ định.

t.TemperatureChange +=

new TemperatureEventHandler(this.TemperatureChange);

}

// Phương thức thụ lý sự kiện thay đổi nhiệt độ.

public void TemperatureChange(Thermostat sender,

TemperatureChangeEventArgs temp) {

count++;

sum += temp.NewTemperature;

System.Console.WriteLine

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.