Modèle représentatif de l'entreprise


Le modèle de délégué métier est utilisé pour découpler la couche de présentation et la couche métier. Il est essentiellement utilisé pour réduire la fonction de communication ou de requête à distance au code de la couche métier dans le code de la couche présentation. Dans la couche métier, nous avons les entités suivantes.

  • Client - Le code de la couche de présentation peut être du code Java JSP, servlet ou UI.

  • Business Delegate - Une classe d'entrée pour les entités clientes qui donne accès aux méthodes de services commerciaux.

  • Service de recherche - L'objet du service de recherche est chargé d'obtenir les implémentations métier associées et de fournir aux objets métier un accès aux objets représentatifs de l'entreprise.

  • Service métier - Interface de service métier. La classe d'entité qui implémente le service métier fournit la logique d'implémentation métier réelle.

En implémentant

nous créerons Client, BusinessDelegate, BusinessService, LookUpService , JMSService et EJBService pour représenter diverses entités dans le modèle représentatif de l'entreprise.

BusinessDelegatePatternDemo, notre classe de démonstration utilise BusinessDelegate et Client pour démontrer l'utilisation du modèle Business Representative.

business_delegate_pattern_uml_diagram.jpg

Étape 1

Créez l'interface BusinessService.

BusinessService.java

public interface BusinessService {
   public void doProcessing();
}

Étape 2

Créez la classe de service d'entité.

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

Étape 3

Créer une requête métier service .

BusinessLookUp.java

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

Étape 4

Créez un représentant d'entreprise.

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

Étape 5

Créez le client.

Student.java

public class Client {
	
   BusinessDelegate businessService;

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

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

Étape 6

Utilisez les classes BusinessDelegate et Client pour démontrer le modèle Business Representative.

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

Étape 7

Vérifiez le résultat.

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