大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

Java設(shè)計模式

業(yè)務(wù)代表模式

業(yè)務(wù)代表模式(Business Delegate Pattern)用于對表示層和業(yè)務(wù)層解耦。它基本上是用來減少通信或?qū)Ρ硎緦哟a中的業(yè)務(wù)層代碼的遠(yuǎn)程查詢功能。在業(yè)務(wù)層中我們有以下實體。

• 客戶端(Client) - 表示層代碼可以是 JSP、servlet 或 UI java 代碼。

• 業(yè)務(wù)代表(Business Delegate) - 一個為客戶端實體提供的入口類,它提供了對業(yè)務(wù)服務(wù)方法的訪問。

• 查詢服務(wù)(LookUp Service) - 查找服務(wù)對象負(fù)責(zé)獲取相關(guān)的業(yè)務(wù)實現(xiàn),并提供業(yè)務(wù)對象對業(yè)務(wù)代表對象的訪問。

• 業(yè)務(wù)服務(wù)(Business Service) - 業(yè)務(wù)服務(wù)接口。實現(xiàn)了該業(yè)務(wù)服務(wù)的實體類,提供了實際的業(yè)務(wù)實現(xiàn)邏輯。

實現(xiàn)

我們將創(chuàng)建 Client、BusinessDelegate、BusinessService、LookUpService、JMSService 和 EJBService 來表示業(yè)務(wù)代表模式中的各種實體。

BusinessDelegatePatternDemo,我們的演示類使用 BusinessDelegate 和 Client 來演示業(yè)務(wù)代表模式的用法。

步驟 1

創(chuàng)建 BusinessService 接口。

public interface BusinessService {
   public void doProcessing();
}

步驟 2

創(chuàng)建實體服務(wù)類。

public class EJBService implements BusinessService {
 
   @Override
   public void doProcessing() {
      System.out.println("Processing task by invoking EJB Service");
   }
}
public class JMSService implements BusinessService {
 
   @Override
   public void doProcessing() {
      System.out.println("Processing task by invoking JMS Service");
   }
}

步驟 3

創(chuàng)建業(yè)務(wù)查詢服務(wù)。

public class BusinessLookUp {
   public BusinessService getBusinessService(String serviceType){
      if(serviceType.equalsIgnoreCase("EJB")){
         return new EJBService();
      }else {
         return new JMSService();
      }
   }
}

步驟 4

創(chuàng)建業(yè)務(wù)代表。

public class BusinessDelegate {
   private BusinessLookUp lookupService = new BusinessLookUp();
   private BusinessService businessService;
   private String serviceType;
 
   public void setServiceType(String serviceType){
      this.serviceType = serviceType;
   }
 
   public void doTask(){
      businessService = lookupService.getBusinessService(serviceType);
      businessService.doProcessing();     
   }
}

步驟 5

創(chuàng)建客戶端。

public class Client {
   
   BusinessDelegate businessService;
 
   public Client(BusinessDelegate businessService){
      this.businessService  = businessService;
   }
 
   public void doTask(){      
      businessService.doTask();
   }
}

步驟 6

使用 BusinessDelegate 和 Client 類來演示業(yè)務(wù)代表模式。

public class BusinessDelegatePatternDemo {
   
   public static void main(String[] args) {
 
      BusinessDelegate businessDelegate = new BusinessDelegate();
      businessDelegate.setServiceType("EJB");
 
      Client client = new Client(businessDelegate);
      client.doTask();
 
      businessDelegate.setServiceType("JMS");
      client.doTask();
   }
}

步驟 7

執(zhí)行程序,輸出結(jié)果:

Processing task by invoking EJB Service
Processing task by invoking JMS Service

 

全部教程
主站蜘蛛池模板: 亚洲国产成人久久综合区 | 国产成人久久精品区一区二区 | 国产视频久久久久 | 精品久久影院 | 久久黄色视屏 | 国产精品美女久久久久 | 日韩中文字幕在线有码视频网 | 国产精品线在线精品 | 日韩黄网 | 亚洲瑟瑟| 国产毛片毛片精品天天看 | 99这里只有精品66视频 | 动漫精品一区二区3d | 热99在线 | 99热热久久这里只有精品166 | 亚洲精品欧洲一区二区三区 | 一级毛片免费网站 | 我爱52av好色| 成人a视频| 久久精品免费在线观看 | 久久亚洲国产的中文 | 亚洲欧美一区二区三区九九九 | 久草热久草在线视频 | 日韩在线一区视频 | 99资源在线 | 国产在线观看91精品一区 | 性视频一级 | 婷婷久久精品 | 美女视频黄视大全视频免费网址 | 久久一二 | 国产免费久久精品丫丫 | 久久久精品久久 | 一区一区三区产品乱码 | 国产91在线|亚洲 | 岛国片欧美一级毛片 | 在线精品视频成人网 | 国产精品社区在线观看 | 十八女人毛片 | 日本一区二区三 | 99精品国产高清一区二区麻豆 | 毛片视频网站在线观看 |