ビジネス代表モデル
Business Delegate パターンは、プレゼンテーション層とビジネス層を分離するために使用されます。これは基本的に、通信またはリモート クエリ機能をプレゼンテーション層コード内のビジネス層コードに削減するために使用されます。ビジネス層には次のエンティティがあります。
クライアント - プレゼンテーション層コードは、JSP、サーブレット、または UI Java コードにすることができます。
Business Delegate - ビジネス サービス メソッドへのアクセスを提供するクライアント エンティティのエントリ クラス。
LookUp Service - Lookup サービス オブジェクトは、関連するビジネス実装を取得し、ビジネス オブジェクトにビジネス代表オブジェクトへのアクセスを提供する責任があります。
ビジネスサービス - ビジネスサービスインターフェース。ビジネス サービスを実装するエンティティ クラスは、実際のビジネス実装ロジックを提供します。
実装
営業担当者パターンのさまざまなエンティティを表すために、Client、BusinessDelegate、BusinessService、LookUpService、JMSService、およびEJBServiceを作成します。
BusinessDelegatePatternDemo のデモ クラスは、BusinessDelegate と Client を使用して、営業担当者パターンの使用法を示します。
ステップ 1
BusinessService インターフェイスを作成します。
BusinessService.java
public interface BusinessService { public void doProcessing(); }
ステップ 2
エンティティサービスクラスを作成します。
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"); } }
ステップ 3
ビジネス クエリ サービスを作成します。
BusinessLookUp.java
public class BusinessLookUp { public BusinessService getBusinessService(String serviceType){ if(serviceType.equalsIgnoreCase("EJB")){ return new EJBService(); }else { return new JMSService(); } } }
ステップ 4
ビジネス担当者を作成します。
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(); } }
ステップ 5
クライアントを作成します。
Student.java
public class Client { BusinessDelegate businessService; public Client(BusinessDelegate businessService){ this.businessService = businessService; } public void doTask(){ businessService.doTask(); } }
ステップ 6
BusinessDelegate クラスと Client クラスを使用して、ビジネス代表者のパターンを示します。
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
出力を確認します。
りー