黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

Java設(shè)計模式

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

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

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

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

• 查詢服務(wù)(LookUp Service) - 查找服務(wù)對象負責(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

 

全部教程
主站蜘蛛池模板: 成人午夜视频免费看欧美 | 最近2019中文字幕无吗 | 午夜黄色毛片 | 国产成人综合在线视频 | 久久精品欧美一区二区 | 亚洲乱码一二三四区国产 | 啪啪免费网站入口链接 | 草草视频在线观看最新 | 台湾中文娱乐综合久久久 | 免费在线观看污污视频 | 人人爽人人爽人人爽 | 二级特黄绝大片免费视频大片 | 特级全黄一级毛片视频 | 亚洲日日操 | 国产精品天天干 | 成人国产精品999视频 | 小明日韩在线看看永久区域 | 中文字幕永久免费 | 亚洲国产成人久久精品动漫 | 免费看美女毛片 | 国产欧美一级片 | 天天干天天爽天天操 | 国产成人精品怡红院 | 97免费在线观看视频 | 久久免费黄色 | 国产精品久久精品视 | 最近中文字幕在线播放 | 在线观看黄色小视频 | 色噜噜色噜噜天天拍一拍 | 韩国成人理伦片免费播放 | 欧美色综合网站 | 久久综合综合久久 | 男女啪啪猛烈到合不拢腿小说网 | 射久久 | 成人久久18免费软件 | 不卡无毒免费毛片视频观看 | 99在线免费观看 | 久久99精品免费视频 | 在线播放中文字幕 | 欧美a级完整在线观看 | 国产精品亚洲精品日韩动图 |