648
Chương 16: Các giao diện và mẫu thông dụng
("AverageObserver: Average={0:F}",
(double)sum/(double)count);
}
}
Lớp
Thermostat
định nghĩa một phương thức
Main
(được trình bày bên dưới) để chạy ví dụ
này. Sau khi tạo một đối tượng
Thermostat
và hai đối tượng observer, phương thức
Main
sẽ
nhắc bạn nhập vào một nhiệt độ. Mỗi khi bạn nhập một nhiệt độ mới, đối tượng
Thermostat
sẽ
báo cho observer hiển thị thông tin ra cửa sổ Console.
public static void Main() {
// Tạo một đối tượng Thermostat.
Thermostat t = new Thermostat();
// Tạo hai observer.
new TemperatureChangeObserver(t);
new TemperatureAverageObserver(t);
// Lặp để lấy nhiệt độ từ người dùng. Bất cứ giá trị
// nào không phải số nguyên sẽ khiến vòng lặp kết thúc.
do {
System.Console.Write("\n\rEnter current temperature: ");
try {
// Chuyển đầu vào của người dùng thành một số
// nguyên và sử dụng nó để thiết lập nhiệt độ
// hiện tại của bộ ổn nhiệt.
t.Temperature =
System.Int32.Parse(System.Console.ReadLine());
} catch (System.Exception) {
// Sử dụng điều kiện ngoại lệ để kết thúc vòng lặp.
System.Console.WriteLine("Terminating ObserverExample.");
return;
}
} while (true);