poxypattern
代理模式uml圖
   

    //先產生一個Interface 用來實作方法
    interface IGiyeGift {
        void GiveDolls();
        void GiveFlowers();
        void GiveChoclate();
    }
    //實作一個資料內容
    class schoolGirl {
        private string name;
        public string NameSet {
            get { return name;}
            set {name = value;}
        }
    }
    //被代理人的類別
    class pursit : IGiyeGift
    {
        schoolGirl mm;
        public pursit(schoolGirl dd)
        {
            this.mm = dd;
        }
        
        public void GiveDolls()
        {
            Console.WriteLine(this.mm.NameSet+"TestDolls");
        }
        
        public void GiveFlowers()
        {
            Console.WriteLine(this.mm.NameSet + "Flowers");
        }
        
        public void GiveChoclate()
        {
            Console.WriteLine(this.mm.NameSet + "TestCholate");
        }
    }
    //代理人的類別項目
    class Proxy : IGiyeGift
    {
        pursit mm;
        public Proxy(schoolGirl MM)
        {
            this.mm = new pursit(MM);
        }
        public void GiveDolls()
        {
            mm.GiveDolls();        
        }
        public void GiveFlowers()
        {
            mm.GiveFlowers();
        }
        public void GiveChoclate()
        {
            mm.GiveChoclate();
        }
    
    }
    /// <summary>
    /// 主程式用來產生主要項目, 透過代理人
    /// </summary>
    class Program
    {
        static void Main(string[] args)
        {
            schoolGirl DDa = new schoolGirl();
            DDa.NameSet = "王國權 ";
            Proxy Pxy = new Proxy(DDa);
            Pxy.GiveDolls();
            Pxy.GiveFlowers();
            Pxy.GiveChoclate();
            Console.ReadLine();
        }
    }
文章標籤

斷了線的小木偶 發表在 痞客邦 留言(0) 人氣(185)