Latest web development tutorials

에이전트 모드

프리젠 테이션 계층과 비즈니스 계층 디커플링에 대한 에이전트 모드 (비즈니스 위임 패턴). 기본적으로 통신하거나 프리젠 테이션 계층 코드 비즈니스 계층 코드 원격 조회 기능을 감소시키기 위해 사용된다. 비즈니스 계층에서, 우리는 다음과 같은 요소를 갖는다.

  • 클라이언트 (고객) - 프리젠 테이션 레이어 코드는 JSP, 서블릿, 또는 UI 자바 코드가 될 수 있습니다.
  • 에이전트 (비즈니스 위임) - 비즈니스 서비스 방법에 대한 액세스를 제공하는 클라이언트 개체에 대한 클래스 항목.
  • 조회 서비스 (조회 서비스) - 서비스 개체를 달성하기 위해 관련 사업을 취득해야하고, 비즈니스에 액세스 대표 개체를 개체를 제공하실 수 있습니다.
  • 비즈니스 서비스 (비즈니스 서비스) - 비즈니스 서비스 인터페이스를 제공합니다.달성하기 위해 실제 비즈니스 로직을 제공하는 비즈니스 서비스를 구현하는 엔터티 클래스입니다.

실현

우리는클라이언트를 만듭니다, BusinessDelegate, 비지니스 서비스, LookUpService,JMSService 및EJBService는다양한 개체를 대신하여 비즈니스 모델을 나타냅니다.

BusinessDelegatePatternDemo, 우리의데모 클래스는BusinessDelegate클라이언트 에이전트모드 사용의 사용을 설명합니다.

에이전트 모델 UML 다이어그램

1 단계

비지니스 서비스 인터페이스를 만듭니다.

BusinessService.java

공용 인터페이스의 비지니스 서비스 {
   공공 무효 doProcessing ();
}

2 단계

엔티티 클래스 서비스를 만듭니다.

EJBService.java

공용 클래스 EJBService는 비지니스 서비스를 {구현

   @Override
   공공 무효 doProcessing () {
      에서 System.out.println ( "EJB 서비스를 호출하여 처리 작업");
   }
}

JMSService.java

공용 클래스 JMSService는 비지니스 서비스를 {구현

   @Override
   공공 무효 doProcessing () {
      에서 System.out.println ( "처리 작업 JMS 서비스를 호출하여");
   }
}

3 단계

사업 문의 서비스를 만듭니다.

BusinessLookUp.java

공용 클래스 BusinessLookUp {
   공공 비지니스 서비스 getBusinessService (문자열 ServiceType 자리) {
      경우 (serviceType.equalsIgnoreCase ( "EJB")) {
         ) (새 EJBService를 반환;
      } 그밖에 {
         ) (새 JMSService를 반환;
      }
   }
}

4 단계

사업 담당자를 만듭니다.

BusinessDelegate.java

공용 클래스 BusinessDelegate {
   개인 BusinessLookUp lookupService = 새로운 BusinessLookUp ();
   개인 비지니스 서비스 비지니스 서비스;
   개인 문자열 ServiceType 자리;

   공공 무효 setServiceType (문자열 ServiceType 자리) {
      this.serviceType = ServiceType 자리;
   }

   공공 무효 doTask () {
      비지니스 서비스 = lookupService.getBusinessService (ServiceType 자리);
      () businessService.doProcessing;		
   }
}

5 단계

클라이언트를 만듭니다.

Student.java

공용 클래스 클라이언트 {
	
   BusinessDelegate 비지니스 서비스;

   공공 클라이언트 (BusinessDelegate 비지니스 서비스) {
      this.businessService = 비지니스 서비스;
   }

   공공 무효 doTask () {		
      businessService.doTask ();
   }
}

6 단계

에이전트 모드를 보여주기 위해 BusinessDelegate 및 클라이언트 클래스를 사용합니다.

BusinessDelegatePatternDemo.java

공용 클래스 BusinessDelegatePatternDemo {
	
   공공 정적 무효 메인 (문자열 []에 args) {

      BusinessDelegate businessDelegate = 새로운 BusinessDelegate ();
      businessDelegate.setServiceType ( "EJB");

      클라이언트 클라이언트 = 새로운 클라이언트 (businessDelegate);
      client.doTask ();

      businessDelegate.setServiceType ( "JMS");
      client.doTask ();
   }
}

7 단계

출력을 확인합니다.

EJB 서비스를 호출하여 처리 작업
JMS 서비스를 호출하여 처리 작업