設計模式之——代理模式

跳轉到==>設計模式彙總

代理模式
1 顧名思義,就是有代理,中介存在。例如:喝醉了,不能開車(不想和不能改動目標是重點,如果讓車自己動,就改動了目標),找人代理開車的工作,代理人會開車,並且他有車(有車是重點)
2 二個重點:代理者和對象繼承同個接口(這個地方非常怪異);代理者擁有對象;
3 目的是不想或不能直接訪問或修改對象
4 與裝飾器有點像,似乎都是爲了不改動對象而採取的方案

    public abstract class Car
    {
        public abstract void Drive();
    }
    public class BMW : Car
    {
        public override void Drive()
        {
            Console.WriteLine("Drive car");
        }
    }
    public class DiDier : Car
    {
        public BMW bmw;

        public override void Drive()
        {
            if(bmw == null)
            {
                bmw = new BMW();
            }
            bmw.Drive();
        }
    }
    class Drunker
    {
        public static void DriveBMW()
        {
            DiDier didi = new DiDier();
            didi.Drive();
        }
    }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章