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.
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