求大神帮忙解答代码疑问!
//猫大叫一声 所有的老鼠开始逃跑 主人被惊醒
//要有联动性 老鼠和主人的行为是被动的 考虑可扩展性 猫的叫声可能引起其他的联动效应
namespace _2016._07._18._08
{
public interface Observer
{
void Response();//观察者的反应 如是老鼠见到猫的反应
}
public interface Subject
{
void AimAt(Observer obs);!!!!!!!!第一处疑问 这里的(Observer obs) 是什么意思
}
//以上是两个接口
public class Mouse:Observer
{
private string name;
public Mouse(string name,Subject subj)!!!!!!1这里的Subject subj 是什么意思
{
this.name = name;
subj.AimAt(this);
}
public void Response()
{
Console.WriteLine(name + "attempt ready to escape!");
}
}
public class Master:Observer
{
public Master(Subject subj)
{
subj.AimAt(this);
}
public void Response()
{
Console.WriteLine("Host waken!");
}
}
public class Cat : Subject
{
private ArrayList observers;
public Cat()
{
this.observers = new ArrayList();
}
public void AimAt(Observer obs)
{
this.observers.Add(obs);
}
public void Cry()
{
Console.WriteLine("Cat Caryed!");
foreach(Observer obs in this.observers)
{
obs.Response();
}
}
}
class Program
{
static void Main(string[] args)
{
Cat cat = new Cat();
Mouse mouse1 = new Mouse("mouse1", cat);
Mouse mouse2 = new Mouse("mouse 2", cat);
Master master = new Master(cat);
cat.Cry();
Console.ReadKey();
//逃跑啥玩意啊 就是猫显示叫了 然后显示老鼠的名字 老鼠逃跑 主人醒了。
}
}
}