2009-08-05 5 views
3

우리 회사에서 우리는 조립식 웹 응용 프로그램을 개발합니다. 많은 경우 응용 프로그램이있는 그대로 작동하지만 복잡한 사용자 정의 요청이 종종 발생합니다. 구조화 된 방식으로이 작업을 수행하는 데 문제가 있습니다. 일반 기능은 사용자 정의의 영향을받지 않습니다. 현재 우리는 Spring Web Flow를 조사하고 있으며 필요한 부분을 처리 할 수있는 것처럼 보입니다.맞춤형 웹 응용 프로그램

예를 들어 Google에서 온라인 쇼핑을하고 있으며 쇼핑 바구니 주문을 확인하는 순간 독점 로깅 시스템에 메시지를 보내야한다는 요청이 있습니다. SWF를 사용하면 ClientX Checkout Flow를 사용하여 Generic Checkout Flow를 상속하고 사용자 정의 로그 쓰기를 수행하는 데 필요한 상태로 확장 할 수 있습니다. 이 시나리오는 잘 처리 된 것 같습니다. 즉, Open/Closed 원칙에 따라 Generic Checkout Flow를 그대로 유지하고 사용자 지정 기능으로 확장 할 수 있습니다. Google 팀은 일반 Checkout Flow에 기능을 추가 할 수 있으며 확장 기능을 수정하지 않고도 클라이언트에 배포 할 수 있습니다. 그러나 고객이 우리 페이지를 사용자 정의하도록 요청하는 경우가 있습니다. 예를 들어 온라인 쇼핑 앱에서는 클라이언트가 여러 통화 기능을 요청합니다. 이 경우 View (흐름) (컨트롤러)를 수정해야합니다. 일반보기를 확장하고 수정하지 못하게하는 기술이 있습니까? 지금까지 대부분의 템플릿 기반 뷰 (JSP, Struts, Velocity 등)를 사용하는 솔루션은 각각

  • 으로 각 클라이언트에 대한 특정 버전의보기를 갖는 것으로 보입니다. 이것은 분명히
  • 매개 변수에 따라 구성 가능한 응용 프로그램을 만들기 위해 구현 폭발로 연결 (경우 multipleCurrency) 코드 폭발에 이르게 - 각 페이지

체크 할 필요가 구성 조건의 숫자가 될 것입니다 무엇 이 경우 가장 좋은 해결책은 무엇입니까? 아마도 내가 기억할 수없는 다른 맞춤 설정 사례가있을 수 있습니다. 어쩌면 특정 기본보기를 확장 할 수있는 구성 요소 기반의보기 기술이있을 수 있으며 이는 의미가 있습니다. 구성 가능한 웹 응용 프로그램의 문제에 대한 일반적인 해결책은 무엇입니까?

답변

1

각 사용자 지정 지점은 일부 수준의 조건을 나타냅니다.

가능한 경우 사람들은 스타일 시트를 사용하여 일부 영역을 제어하는 ​​경향이 있습니다. 예를 들어 통화 선택기의 표시는 아마도 그렇게 할 수 있습니다.

해당 통화 예제에 대한 또 다른 생각 : 1은 많은 경우의 제한적인 사례입니다. 따라서 모델은 통화 목록을 제공합니다. 뷰에는 선택자가 많으면 표시되고, 고정 필드는 하나만 표시합니다. 꽤 잘 정의 된 동작 - 다른 시나리오에서 재사용을 테스트하기 쉽습니다.