設計模式-代理類proxy:一個介面多個實現類(基於spring框架)
阿新 • • 發佈:2019-02-04
根據前臺返回的不同引數,選擇一個介面不同的實現類來實現不同業務邏輯,我們用到了proxy代理類。
首先是spring.xml 配置檔案 如下:(proxy 表示代理類 ××ServiceImpl 表示實現類)
<bean id="介面名稱" >
<property name="target" ref="proxy"></property>
</bean>
<bean id="proxy“ class= ”代理類地址“>
<property name="××ServiceImpl1" ref="××ServiceImpl1"></property>
<property name="××ServiceImpl2" ref="××ServiceImpl2"></property>
</bean>
<bean id="××ServiceImpl1" class=""></bean>
<bean id="××ServiceImpl2" class=""></bean>
代理類程式碼
public class proxy implements 介面 {
//獲取兩個實現類
public 介面 ××ServiceImpl1 ;
public 介面 ××ServiceImpl
//獲取不同實現類的成員變數 service
public 介面 service;
三者的get set 方法;
public 介面 getService(){
if(判斷使用哪個實現類的條件){
service = ××ServiceImpl1 ;
}else{
service = ××ServiceImpl12;
}
}
//通過getservice方法,可以呼叫不同的實現類的方法實現
@Override
介面方法1{getService.介面方法1(); }
@Override
介面方法2{getService.介面方法2(); }
}