客户端调用
class Program { static void Main(string[] args) { Actress actress = new Actress(); ActorA a = new ActorA(actress); ActorB b = new ActorB(actress); ActorC c = new ActorC(actress); actress.SetState(1); Console.ReadLine(); } }程序输出
适用场景当一个对象的改变需要同时改变其它对象,而又不知道具体有多少对象时。
当一个对象必须通知其他对象,而它不知道其他对象是谁。
但一个抽象模型有两个方面,其中一个方面依赖于另一个方法。将二者封装在独立的对象中以使它们各自独立地改变和重用。