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

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

 

全部教程
主站蜘蛛池模板: 成年网站在线观看视频 | 亚洲伦理视频 | 在线成人影片 | 黄免费看| 中文字幕综合网 | 日日干日日摸 | 欧美天堂在线 | 亚洲成a人片77777kkk | 日韩av片免费播放 | 欧美日韩精品乱国产538 | 欧美高清日韩 | 中文字幕第4页 | 亚洲影视一区二区 | 性欧美人妖在线看 | 国产精品不卡在线观看 | 国产成人综合久久精品红 | 曰批全过程免费视频观看软件 | 成年黄网站色视频免费观看 | 性片网址| 三级黄色a | 亚洲经典千人经典日产 | 成人高清免费 | 国产精品视频一区二区三区 | 青青视频网 | 免费在线观看你懂的 | 国语性猛交xxxx乱大交 | 天天摸夜夜摸夜夜狠狠摸 | 久久激情五月 | 高清色 | 免费一级特黄 | 国产无套在线观看视频 | 一级毛片免费视频网站 | 中国一及黄色片 | 干妞网免费视频 | 久久亚洲不卡一区二区 | 日韩精品一区二区三区中文3d | 黄色网址网站在线观看 | 一本到在线视频 | 欧美日韩不卡中文字幕在线 | 私人毛片| 成人在线不卡 |