Tasarım Modelleri - İş Temsilcisi Modeli
İş Temsilcisi Kalıbı, sunum katmanını ve iş katmanını ayırmak için kullanılır. Temel olarak, sunum katmanı kodundaki iş katmanı koduna iletişimi veya uzaktan arama işlevini azaltmak için kullanılır. İşletme katmanında aşağıdaki kuruluşlarımız var.
Client - Sunum katmanı kodu JSP, sunucu uygulaması veya UI java kodu olabilir.
Business Delegate - Müşteri varlıklarının Business Service yöntemlerine erişim sağlaması için tek bir giriş noktası sınıfı.
LookUp Service - Arama hizmeti nesnesi, göreceli iş uygulaması elde etmekten ve iş temsilcisi nesnesine iş nesnesi erişimi sağlamaktan sorumludur.
Business Service- Business Service arayüzü. Somut sınıflar, gerçek iş uygulama mantığını sağlamak için bu iş hizmetini uygular.
Uygulama
İş Temsilcisi modellerinin çeşitli varlıklarını temsil eden bir Client , BusinessDelegate , BusinessService , LookUpService , JMSService ve EJBService oluşturacağız.
BusinessDelegatePatternDemo , bizim demo sınıfı kullanacaktır BusinessDelegate ve Client İş Delegesi modelini gösterir etmek.
Aşama 1
BusinessService Arayüzü oluşturun.
BusinessService.java
public interface BusinessService {
public void doProcessing();
}
Adım 2
Somut Hizmet sınıfları oluşturun.
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");
}
}
Aşama 3
İş Arama Hizmeti oluşturun.
BusinessLookUp.java
public class BusinessLookUp {
public BusinessService getBusinessService(String serviceType){
if(serviceType.equalsIgnoreCase("EJB")){
return new EJBService();
}
else {
return new JMSService();
}
}
}
4. adım
İş Temsilcisi oluşturun.
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();
}
}
Adım 5
İstemci Oluşturun.
Client.java
public class Client {
BusinessDelegate businessService;
public Client(BusinessDelegate businessService){
this.businessService = businessService;
}
public void doTask(){
businessService.doTask();
}
}
6. Adım
İş Temsilcisi modelini göstermek için BusinessDelegate ve Client sınıflarını kullanın.
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();
}
}
7. Adım
Çıkışı doğrulayın.
Processing task by invoking EJB Service
Processing task by invoking JMS Service