A)要有联动性 老鼠与主人的行为是被动的 
B)考虑扩展性,猫的叫声可能引起其他的联动效应
     public   delegate   void   SubEventHandler(); 
        public   abstract   class   Subject 
        { 
                public   event   SubEventHandler   SubEvent; 
                protected   void   FireAway() 
                { 
                        if   (this.SubEvent   !=   null) 
                                this.SubEvent(); 
                }       
        } 
        public   class   Cat   :   Subject 
        {     
                public   void   Cry() 
                { 
                        Console.WriteLine( "cat   cryed. "); 
                        this.FireAway(); 
                } 
        } 
        public   abstract   class   Observer 
        { 
                public   Observer(Subject   sub) 
                { 
                        sub.SubEvent   +=   new   SubEventHandler(Response); 
                } 
                public   abstract   void   Response();         
        } 
        public   class   Mouse   :   Observer 
        { 
                private   string   name; 
                public   Mouse(string   name,   Subject   sub)   :   base(sub) 
                {       
                        this.name   =   name; 
                } 
                public   override   void   Response() 
                { 
                        Console.WriteLine(name   +   "   attempt   to   escape! "); 
                } 
        } 
        public   class   Master   :   Observer 
        { 
                public   Master(Subject   sub)   :   base(sub){}                 public   override   void   Response() 
                { 
                        Console.WriteLine( "host   waken "); 
                } 
        } 
        class   Class1 
        { 
                static   void   Main(string[]   args) 
                { 
                        Cat   cat   =   new   Cat(); 
                        Mouse   mouse1   =   new   Mouse( "mouse1 ",   cat); 
                        Mouse   mouse2   =   new   Mouse( "mouse2 ",   cat); 
                        Master   master   =   new   Master(cat); 
                        cat.Cry(); 
                }         }请问       public   class   Mouse   :   Observer 
        { 
                private   string   name; 
                public   Mouse(string   name,   Subject   sub)   :   base(sub) 
                {       
                        this.name   =   name; 
                }和       public   class   Master   :   Observer 
        { 
                public   Master(Subject   sub)   :   base(sub){} 
是什么意思??求解决大家不许笑