美文网首页
设计模式-代理模式

设计模式-代理模式

作者: firststep | 来源:发表于2018-03-21 13:51 被阅读0次

    代理模式是设计模式中一种比较重要的设计模式,常用于一种类不能或者不必要去进行与其他类进行交互.这样可以构建一个代理类,所有的工作都交给代理类去做.

    比如,一个男学生喜欢一个女学生,他想去给那个女孩送礼物,但是他不敢亲自去就上某宝订了一束鲜花,然后让花店的服务员送给那个女孩.那么这个服务员就是代理类.那么在代码中应该是怎么样的呢?

    送花的动作接口
    public Interface IGiveGift {
        void SendFlowers();
    }
    
    男同学
    public class StudentBoy Interface IGiveGift {
        public StudentGirl StudentGirl;
        public StudentBoy (StudentGirl StudentGirl) {
            this.StudentGirl = StudentGirl;
        }
    
        public void SendFlowers {
            System.out.println(StudentGirl.name"send flowers");
        }
    }
    
    一脸懵懂的女同学
    public class StudentGirl {
        public String Name;
        public void setName(String name) {
            this.Name = name;
        }
        public String getName {
            return Name;
        }
    }
    
    花店服务员(代理类)
    public class Poxy Interface IGiveGift {
        public StudentBoy studentBoy;
        public Poxy (StudentGirl studentGirl) {
            studentBoy = new StudentBoy (studentGirl);
        }
    
        public void SendFlowers() {
            studentBoy.SendFlowers();
        }
    }
    
    main方法
    public class ActitySendFlowers {
    
        public static void main (String args[]) {
            StudentGirl studentGirl = new StudentGirl();
            studentGirl.setName("Girl");
    
            Poxy poxy = new Poxy(studentGirl);
            poxy.SendFlowers();
        }
    }
    

    其中男同学并没有亲自去new一个女同学的类,是通过代理类进行完成操作的,在编程的世界里代理模式会给我们省好多的事情,但是现实生活中还是要靠自己不然就会冒出来好多的小三.

    相关文章

      网友评论

          本文标题:设计模式-代理模式

          本文链接:https://www.haomeiwen.com/subject/uemwqftx.html