Java设计模式---代理模式(静态代理)

废话不多说,上代码:

我们创建一个TeacherDao类来教课,需要创建一个代理老师来教课。

第一步:先创建一个接口

public interface ITTeacherDao {
    public void teach();
}

第二步:创建一个教课的老师类

public class TeacherDao implements ITTeacherDao {
    @Override
    public void teach() {
        System.out.println("老师正在讲课");
    }
}

第三步:创建一个教课的老师

//静态代理
public class TeacherDaoProxy implements ITTeacherDao {

    //目标对象 通过接口来聚合
    private ITTeacherDao target;

  //构造器
    public TeacherDaoProxy(ITTeacherDao target) {
        this.target = target;
    }

    @Override
    public void teach() {
        System.out.println("代理开始");
        target.teach();
        System.out.println("代理结束");
    }
}

最后测试类以及结果结果:

public class TeacherTest001 {
    public static void main(String[] args) {
        //创建目标对象
        TeacherDao teacherDao = new TeacherDao();

        //创建代理对象,同时将被代理对象传递给代理对象
        TeacherDaoProxy teacherDaoProxy = new TeacherDaoProxy(teacherDao);

        //通过代理对象,调用被代理对象的方法
        teacherDaoProxy.teach();

    }
}


结果输出如下:
代理开始
老师正在讲课
代理结束

猜你喜欢

转载自blog.csdn.net/LB_Captain/article/details/113957654