必备元素:一个接口,两个类(代理类和被代理类)。被代理类可以理解为业务类。
使用场景:现在需要添加新的业务,而业务类A现有的功能无法满,又不想改动A(可能是改动代价太大等原因),那么需要一个代理类B去帮A做。
如何使用:代理类B需要持有被代理类A的引用,为什么需要一个接口呢?因为A和B都需要实现这个接口,这样他们才会有共同的方法。
举例(伪代码)
接口
interface Student {
public void study();
}
学生A学习高数
Class StudentA implement Student {
public void study(){
学习高数;
}
}
新的需求:学生A需要学习英语~
代理类
Class ProxyA implement Student {
StudentA studentA;
public void study(){
studentA.study();
学习英语;
}
}
使用Client
Student student = new StudentA();
student.study();
是不是很简单~
时间: 2024-12-09 14:58:14