public interface Implementor {
public void doSomething();
public void doAnything();
}
public class ConcreteImplementor implements Implementor{
@Override
public void doSomething() {
// TODO Auto-generated method stub
System.out.println("this is concreteImplementor doSomething");
}
@Override
public void doAnything() {
// TODO Auto-generated method stub
System.out.println("this is concreteImplementor doAnything");
}
}
public abstract class Abstraction {
private Implementor imp;
public Abstraction(Implementor imp){
this.imp = imp;
}
public void request(){
this.imp.doSomething();
}
public Implementor getImplementor(){
return this.imp;
}
}
public class RefinedAbstraction extends Abstraction{
public RefinedAbstraction(Implementor imp) {
super(imp);
// TODO Auto-generated constructor stub
}
@Override
public void request(){
/**
* 业务处理
*/
super.request();
super.getImplementor().doAnything();
}
}
public class Client {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Abstraction abs = new RefinedAbstraction(new ConcreteImplementor());
abs.request();
}
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步