var ob1 = new ConcreteObserver() { Name = "高俅", Likes = new List<string>() { "八卦" } };
var ob2 = new ConcreteObserver() { Name = "小小", Likes = new List<string>() { "科技" } };
var ob3 = new ConcreteObserver() { Name = "林三", Likes = new List<string>() { "汽车" } };
ConcreteSubject sub = new ConcreteSubject() { };
sub.Reads += ob1.Read;
sub.Reads += ob2.Read;
sub.Reads += ob3.Read;
sub.Publish("最近好多明星结婚啦!", "八卦");
Console.WriteLine("--------------------------------");
sub.Publish("华为研发出新电池!", "科技");
Console.WriteLine("--------------------------------");
sub.Reads -= ob2.Read;
sub.Publish("众泰出保时捷款了!", "汽车");
Console.WriteLine("--------------------------------");
sub.Publish("华为研发出新电池!", "科技");
Console.ReadKey();