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