using System;
namespace Pattern
{
/// <summary>
/// Summary description for Class1.
/// </summary>
public class observer
{
public observer()
{
//
// TODO: Add constructor logic here
//
}
internal void update(string name)
{
Console.WriteLine(name);
}
}
public class productObj
{
public productObj()
{
}
private string name;
private observer o;
public string getName(){ return name;}
public void setName(string name)
{
this.name=name; //设置变化点
notifyObservers(name);
}
private void notifyObservers(string name)
{
if (o!=null) o.update(name);
}
public void addObserver(observer o)
{
this.o =o;
}
}
}
//观察者模式
productObj p=new productObj();
p.addObserver(new observer());
p.setName("good moring");