2012-04-16 3 views
2

여기 바보 일지 모르지만 xpages 및 관리되는 bean에 관한 질문이 있습니다. 나는 로직을 엔티티 (문서의 어느 정도)에 해당하는 bean으로 옮김으로써 로직과 프리젠 테이션을 분리하려고한다. 데이터 가져 오기 및 설정 데이터 공급자 클래스가 있습니다. 이것은 하나의 xpage로 훌륭합니다. 그러나 어플리케이션이 관계 및 여러 xpages로 고급화되면서 문제가 발생합니다 (저는 영감을 얻기 위해 http://blog.mindoo.com/web/blog.nsf/dx/18.03.2011104725KLEDH8.htm?opendocument&comments#anc1을보고 있습니다).다중 xpages가있는 다중 관리 Beans

내가 틀렸어도 다른 관리 빈을 다른 x 페이지에 할당 할 수 없으므로 faces-config.xml에서 다른 xpages로 다른 데이터 공급자 클래스와 businesslogic beans를 설정할 수 없습니다. 이제 나는 이것에 대해 잘못된 방향으로 가고 있을지 모르지만, 모든 포인터가 가장 높이 평가됩니다. "전역 변수"와 같은 콩에서

최저 관련 올로프

답변

1

특정 xpages에 대해 관리 빈을 faces-config에서 정의한 것과 같이 할당 할 수 없습니다 (알고있는 한). 그것들은 응용 프로그램에 따라 다릅니다. 나는 당신이 공장 패턴/창조자 패턴과 같은 것을 찾고 있다고 생각한다. 이것은 특정 클래스의 인스턴스를 만드는 데 사용되는 디자인 패턴입니다. 자세한 내용은 Factory method pattern Wikipedia 또는 Creational patterns wikipedia을 참조하십시오.

예를 들어 피자 집 웹 사이트를 만들 때 눌러야하는 버튼에 따라 특정 유형의 피자를 만드는 공장을 가질 수 있습니다. 그런 다음 각 피자는 메모리 (bean)에서 생성되고 사용자 정의 컨트롤의 데이터 소스로 사용됩니다. 고객이 피자를 주문할 준비가되면 notesdocument (저장된 상태)에 저장되고 다른 모든 제품 orderd와 함께 해당 고객의 주문으로 변형됩니다.

특정 피자를 다시 검색하고자 할 때 (예 : 고객이 주문한 피자를 확인하려는 경우) 번호/ID가있는 피자를 구할 수 있다면 공장에 문의하면됩니다. notesdocument에서 피자. 한 번 빌드하고 많은 것을 사용하십시오.

기본적으로 페이지 당 하나의 관리되는 빈은 없지만 필요할 때마다 응용 프로그램에서 사용할 수 있습니다.

+0

좋은 답변을 주셔서 감사합니다. 이제 알기를 바랍니다. – Olof

+1

Managed Beans는 SessionFacade (디자인 패턴)와 같은 범위를 더 많이 가지며 애플리케이션의 공용 API를 나타낼 수 있습니다. faces-config.xml에 정의한 범위에 따라 Bean의 라이프 사이클을 처리 할 수 ​​있습니다. –

1

봐 당신은 다른 이름을 정의하여 다른 기능을 가질 수 있습니다. 예 : "invoice", "customer", "order", "orderItem"등이 있습니다. 그것은 당신에게 달려 있습니다.

+0

매우 빠른 답변을 보내 주셔서 감사합니다. 나는 그것을 생각하고 있지만 다른 엔티티에 대해 다른 하위 클래스를 사용하여 좀 더 관리하기 쉽도록하고 싶습니다. (가능한 경우 ..) – Olof

+0

정확히 어떤 문제인지 확실하지 않습니다. 다른 클래스를 사용할 수 있습니다. 모든 콩. 질문을 편집하고 직면 한 설정 및 문제에 대한 세부 정보를 추가하십시오. –