Mẫu thiết kế - Mẫu đại diện kinh doanh

Mẫu Đại biểu Doanh nghiệp được sử dụng để phân tách cấp trình bày và cấp kinh doanh. Về cơ bản, nó được sử dụng để giảm chức năng giao tiếp hoặc tra cứu từ xa đối với mã cấp nghiệp vụ trong mã cấp trình bày. Trong cấp kinh doanh, chúng tôi có các thực thể sau.

  • Client - Mã bậc trình bày có thể là mã JSP, servlet hoặc UI java.

  • Business Delegate - Một lớp điểm vào duy nhất cho các thực thể khách hàng để cung cấp quyền truy cập vào các phương thức Dịch vụ Doanh nghiệp.

  • LookUp Service - Đối tượng dịch vụ tra cứu có trách nhiệm thực hiện nghiệp vụ tương đối và cung cấp quyền truy cập đối tượng nghiệp vụ vào đối tượng ủy nhiệm nghiệp vụ.

  • Business Service- Giao diện Business Service. Các lớp bê tông thực hiện dịch vụ nghiệp vụ này để cung cấp logic triển khai nghiệp vụ thực tế.

Thực hiện

Chúng tôi sẽ tạo một Client , BusinessDelegate , BusinessService , LookUpService , JMSServiceEJBService đại diện cho các thực thể khác nhau của các mẫu Business Delegate.

BusinessDelegatePatternDemo , lớp demo của chúng tôi, sẽ sử dụng BusinessDelegateClient để chứng minh việc sử dụng mẫu Business Delegate.

Bước 1

Tạo giao diện BusinessService.

BusinessService.java

public interface BusinessService {
   public void doProcessing();
}

Bước 2

Tạo các lớp Dịch vụ cụ thể.

EJBService.java

public class EJBService implements BusinessService {

   @Override
   public void doProcessing() {
      System.out.println("Processing task by invoking EJB Service");
   }
}

JMSService.java

public class JMSService implements BusinessService {

   @Override
   public void doProcessing() {
      System.out.println("Processing task by invoking JMS Service");
   }
}

Bước 3

Tạo Dịch vụ Tra cứu Doanh nghiệp.

BusinessLookUp.java

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

Bước 4

Tạo Đại biểu Doanh nghiệp.

BusinessDelegate.java

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();		
   }
}

Bước 5

Tạo khách hàng.

Client.java

public class Client {
	
   BusinessDelegate businessService;

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

   public void doTask(){		
      businessService.doTask();
   }
}

Bước 6

Sử dụng các lớp BusinessDelegate và Client để thể hiện mẫu Business Delegate.

BusinessDelegatePatternDemo.java

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();
   }
}

Bước 7

Xác minh kết quả đầu ra.

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