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