观察者模式的定义
一个目标物件管理所有相依于它的观察者物件, 并且在它本身的状态改变时主动发出通知
.Net Core实现观察者模式的代码
Person.cs
1 2 3 4 5 6 7 8 9 10 11 12 13
| using System; namespace ObserverPattern { public class Person { public event EventHandle<FallsIllEventArgs> FallsIll;
public void OnFallsIll() { FallsIll?.Invoke(this, new FallsIllEventArgs("China Beijing")); } } }
|
FallsIllEventArgs.cs
1 2 3 4 5 6 7 8 9 10
| using System; namespace ObserverPattern { public readonly string Address;
public FallsIllEventArgs(string address) { this.Address = address; } }
|
Program.cs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| using System; namespace ObserverPattern { class Program { static void Main(string[] args) { var person = new Person(); person.FallsIll += OnFallsIll; person.OnFallsIll(); person.FallsIll -= OnFallsIll; }
private static void OnFallsIll(object sender, FallsIllEventArgs eventArgs) { Console.WriteLine($'A doctor has been called to(eventArgs.Address)'); } } }
|