using System;
public interface ISubject{
void AddObserver(IObserver ob);
void RemoveObserver(IObserver ob);
void Notify();
}
public interface IObserver{
void Update(string message);
}
public void Subject : ISubject
{
List<IObserver> observerList = new List<IObserver>;
string message;
void AddObserver(IObserver ob){
observerList.Add(ob);
}
void RemoveObserver(IObserver ob){
observerList.Remove(ob);
}
void Notify(){
foreach(Observer obj in observerList){
obj.Update(message);
}
}
void Setmessage(string message){
message = this.message;
Notify();
}
}
public void Observer : IObserver
{
private string name;
public Observer(string name){
name = this.name;
}
void Update(string message){
Console.WriteLine(name + " already receive "+ message);
}
}
public class HelloWorld
{
public static void Main()
{
}
}