이 연습에서는 itso.ad.business 패키지의 프레임워크 계층을 모델링합니다. 프레임워크 컴포넌트 계층은 클라이언트 인터페이스를 지속적 응용프로그램 데이터와 응용프로그램의 구현(implementation) 둘 다에서 분리시킵니다. 프레임워크 컴포넌트 계층에는 위임 팩토리 클래스 및 예외사항을 포함하여 전송 오브젝트 및 위임 인터페이스가 들어 있습니다.
프레임워크 컴포넌트 계층에는 다음 표의 디자인 서브패키지가 포함되어 있습니다.
패키지 | 설명 |
---|---|
예외 | 이 서브패키지에는 PiggyBank 온라인 은행 업무 시스템에 대한 오류 복구를 제공하는 ServiceException 및 DataAccessException 예외 클래스가 들어 있습니다. |
팩토리 | 이 서브패키지에는 비즈니스 위임을 동적으로 작성하는 데 사용되는 BusinessDelegateFactory 클래스가 들어 있습니다. |
interfaces.delegates | 이 서브패키지에는 비즈니스 위임에 대한 인터페이스가 들어 있습니다. |
interfaces.to | 이 서브패키지에는 전송 오브젝트에 대한 인터페이스가 들어 있습니다. |
전송 오브젝트는 원격 프로시저 호출에 대한 리턴 유형으로 사용됩니다. PiggyBank 전송 오브젝트는 PiggyBank 디자인의 계층 간에 고객 및 계정 정보를 전송합니다. 이 연습은 전송 오브젝트 인터페이스를 모델링합니다.
전송 오브젝트 인터페이스 모델링을 완료했습니다. 다이어그램은 다음 그림과 유사하게 표시됩니다.
비즈니스 위임 인터페이스 정의는 비즈니스 위임 구현(implementation) 인스턴스를 생성하는 데 사용되는 비즈니스 위임 메소드 및 팩토리 컴포넌트를 설명합니다. IPiggyBankBusinessDelegate 인터페이스는 PiggyBank 비즈니스 논리에 대한 인터페이스를 정의합니다. AbstractBusinessDelegateFactory 클래스는 IPiggyBankBusinessDelegate 인스턴스를 인스턴스화합니다.
위임 인터페이스 모델링을 완료했습니다. getAccountsByCustomer 및 getCustomerById 오퍼레이션이 이전 연습에서 작성한 전송 오브젝트 인터페이스를 리턴하는 점을 유의하십시오. 다이어그램은 다음 그림과 유사하게 표시됩니다.
BusinessDelegateFactory 클래스는 위임 팩토리 인스턴스를 동적으로 작성하는 데 사용됩니다.
itso.ad.business 계층 팩토리 클래스 모델링을 완료했습니다. 다이어그램은 다음 그림과 유사하게 표시됩니다.
프레임워크 컴포넌트 계층에는 두 가지 예외의 구현(implementation)이 포함되어 있습니다. 이들은 비즈니스 계층에 오류가 발생할 때마다 발생하는 DataAccessException과 서비스 유실 때문에 발생하는 Service Exception입니다.
itso.ad.business 프레임워크 컴포넌트 계층의 모델링을 완료했습니다. 프레임워크 계층은 PiggyBank 구현(implementation)으로부터 PiggyBank 클라이언트 인터페이스를 숨기는 분리 계층입니다. 이제 팩토리 패키지를 다이어그램으로 끌어서 itso.ad.business 디자인 요소를 완료할 수 있습니다. 사용(usage) 관계로 delegate.ejb 패키지를 팩토리 패키지로 연결하십시오. 연관 관계로 팩토리 패키지를 프레임워크 패키지로 연결하십시오. 다이어그램은 다음 그림과 유사하게 표시됩니다.
계속 수행하려면 연습 3.6: EJB 컴포넌트 서브패키지 모델링으로 진행하십시오.