Model perwakilan perniagaan


Corak Perwakilan Perniagaan digunakan untuk memisahkan lapisan pembentangan dan lapisan perniagaan. Ia pada asasnya digunakan untuk mengurangkan komunikasi atau fungsi pertanyaan jauh kepada kod lapisan perniagaan dalam kod lapisan pembentangan. Dalam lapisan perniagaan kita mempunyai entiti berikut.

  • Pelanggan - Kod lapisan pembentangan boleh menjadi kod JSP, servlet atau UI java.

  • Perwakilan Perniagaan - Kelas kemasukan untuk entiti pelanggan yang menyediakan akses kepada kaedah perkhidmatan perniagaan.

  • Perkhidmatan LookUp - Objek perkhidmatan carian bertanggungjawab untuk mendapatkan pelaksanaan perniagaan yang berkaitan dan menyediakan objek perniagaan dengan akses kepada objek wakil perniagaan.

  • Perkhidmatan Perniagaan - Antara muka perkhidmatan perniagaan. Kelas entiti yang melaksanakan perkhidmatan perniagaan menyediakan logik pelaksanaan perniagaan sebenar.

Melaksanakan

kami akan mencipta Pelanggan, Perwakilan Perniagaan, Perkhidmatan Perniagaan, LokasiPerniagaan , JMSService dan EJBService untuk mewakili pelbagai entiti dalam corak perwakilan perniagaan.

BusinessDelegatePatternDemo, kelas demo kami menggunakan BusinessDelegate dan Client untuk menunjukkan penggunaan corak Wakil Perniagaan.

business_delegate_pattern_uml_diagram.jpg

Langkah 1

Buat antara muka BusinessService.

BusinessService.java

public interface BusinessService {
   public void doProcessing();
}

Langkah 2

Buat kelas perkhidmatan entiti.

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

Langkah 3

Buat pertanyaan perniagaan perkhidmatan .

BusinessLookUp.java

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

Langkah 4

Buat wakil perniagaan.

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

Langkah 5

Buat pelanggan.

Student.java

public class Client {
	
   BusinessDelegate businessService;

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

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

Langkah 6

Gunakan kelas BusinessDelegate dan Pelanggan untuk menunjukkan corak Perwakilan Perniagaan.

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

Langkah 7

Sahkan output.

rreeee