2012-01-06 11 views
2

예, 나는 백킹 콩에 관한 질문을 검색했고 많은 질문을 발견했습니다. 나는 그것들을 읽었고 그것의 일부를 얻었지만 나는 또 다른 질문을해야한다. 미안하다.백킹 콩의 올바른 사용

JSF MVC 패턴 때문에 backing beans가 필요하다는 것을 이해 한 후에. 백킹 빈이 모델입니다. 따라서 양식, 이미지 및 로그인 상자를 표시하는 페이지가있는 경우 뒷주 bean은 뷰에서 노출 또는 변경해야하는 데이터에 대한 getter/setter 쌍을 갖습니다. 그리고 뒷받침하는 콩에는 양식을 제출할 때 일어나는 일들, 로그인 할 때와 같은 방법이 있습니다.

위의 내용이 정확하고, 위의 구성 요소는 코드의 양에 따라 다릅니다.

이 페이지의 모든 구성 요소에 대한 방법 및 getter/setter 쌍을 노출하는 것은 합법적이며 3 가지 backing bean을 만드는 것과 같은 방식으로 "올바르다"(잘못된 것은 아닙니다)라는 의미일까요? 각 구성 요소마다 하나씩 사용 가능합니다.

각 페이지마다 하나의 백킹 빈을 분리 할 때와 그 논리 부분을 분리해야 할 때를 경험하는 것은 완전히 끝나나요? 한 사람이 페이지의 각 구성 요소에 대해 뒷받침 빈을 만들었다는 이야기를 들었지만 많은 소규모 수업으로 끝나는 것처럼 들립니다.

누군가가 나를 확인하고 수정할 수 있다면 나는 매우 기뻐할 것입니다.

답변

2

뷰의 모든 구성 요소가 특성 및 조치에 대해 하나의 관리 Bean에 바인드되는 것은 타당합니다. IDE 도구를 사용하면 단일 백킹 빈으로이 작업을 수행하는 것이 좋습니다.

그러나이 접근법은 세분성이 부족하고 관리 빈을 테스트하기가 어려울 수 있습니다. 클래스에 명확하게 정의 된 목적이 없다면 해당 클래스가 그 일을하고 있음을 주장하는 것이 어려울 수 있습니다. 경고 기호 "Summing up what the class does includes the word “and”"을 참조하십시오. 모든 버전의 JSF는 종속성 삽입을 지원하므로 관리 Bean을 어셈블하기 위해 컴포지션을 사용하는 것이 상대적으로 쉽습니다.

이것은 다소 주관적인 주제 대답은 다른 요인에 따라 달라집니다 (응용 프로그램 규모,보기 디자인을,. 페이지 기능)

+0

감사합니다. 당신이 백팽 콩을 서로에게 주입하는 것이 쉽다고 말하면 나는 부탁해야합니다. 왜 그걸 할거야? 왜 그 빈을보기에 그대로 사용할 수 없습니까? 예를 들어, 페이지에 폼에 대해 하나의 bean이 있고 로그인 폼에 다른 bean이 있습니다 (같은 페이지에있을 수도 있음). 그런 다음 두 콩을보기에 그대로 사용하지 않겠습니까? 또는 각 뷰에서 bean에 대해서만 사용할 수 있습니까? 즉, "PageBean"을 만들고이 두 개의 다른 빈을 삽입 한 다음 뷰에서 "PageBean"을 사용해야한다는 의미입니다. – user626912

+0

예제 양식의 기능이 겹치지 않으므로 일반적으로 두 개의 다른 콩이 필요합니다. 하지만 복잡한 페이지의 경우 종속성 삽입을 사용하여 커플 링을 줄이고 모의 및 단위 테스트를 더 쉽게 수행 할 수 있습니다. 이것은 클래스 디자인에 관한 표준적인 내용 일뿐입니다. 관리 빈 (또는 다른 클래스)이 부 풀리지 않는 엉망으로 부풀어 오르는 것을 원하지는 않습니다. – McDowell