2010-01-01 2 views
1

스윙과 SWT를 사용하고 싶은 GUI 애플리케이션을 작성하고 있습니다. 최종 사용자는 어떤 것을 사용해야 하는지를 지정합니다 (동시에 사용하지 않을 것입니다!). SWT는 내가 일반적으로 선호하는 것이지만 JFace를보고있다. 그러나 가장 강력한 기능을 사용하면 GUI와 모델 간의 결합을 증가시키고 GUI를 추상화하는 것이 훨씬 더 어려워진다. 사용되었습니다.JFace의 뷰어를 사용하면 MVC 분리가 어려워 집니까?

이 경우입니까? GUI 세부 사항을 모델에 묶지 않고도 JFace를 사용할 수 있습니까?

답변

2

내가 아는 한, JFace 뷰어를 사용하면 뷰와 모델이 아주 잘 분리됩니다.

여기서 단단한 결합은 실제로 뷰어 구현 (예 : TableViewer 대 TreeViewer를 사용하여 모델을 테이블 또는 트리 위젯에 정중하게 바인딩)을 선택하는 것입니다. 질문 문신의 첫 번째 부분으로

몇 가지 이유는 GUI 프레임 워크의 선택에서 응용 프로그램을 분리하는 당신이 원하는 나타냅니다, 당신이 제공하는 것을 목표로 UFace project

UFace 프로젝트를 살펴 제안 목록은 다음과 공급자에 대한 지원이 글을 쓰는 순간에

UFace 프로젝트 페이지 :

- 정확히 당신이 목표로하는 것 무엇 많은 GUI 백엔드에 대해 실행할 수있는 단일 UI 구현 (이 공급자를 호출)
  • JFace는/SWT
  • 스윙
  • GWT

(나는 또한 몇 가지 작업의 소문을 들었을뿐만 아니라 Qt는 잠비 제공자를 지원에서 수행되는)

+0

이것은 완벽하게 들립니다! 고맙습니다! – ZoFreX

0

동적으로 전환 할 수 없습니다. JFace는 SWT를 호출합니다. AWT를 대신 호출 할 수는 없습니다.

JFace가 모델을 GUI에 연결하는지 여부는 잘 모르지만. 그것은 일련의 모델 인터페이스를 가지고 있지만, 당신이 원하는 어떤 모델이라도 붙일 수 있습니다. 고객이 언젠가 JFace를 추출 할 수있는 옵션을 원한다면이 작업을 깔끔하게 마무리해야합니다.

+0

나는 * 내가 원하는 * 말했다 최종 사용자가 아닌 Swing과 SWT를 사용합니다. 그리고 그것은 문제의 범위를 벗어나지 만, 나는 요구 사항에 대한 충분한 이유가 있습니다. JFace에서 Swing 또는 AWT를 대신 호출하려고하지는 않습니다. GUI에서 모델을 충분히 분리하여 MVC 앱을 쉽게 구성 할 수 있는지 궁금합니다. 모델을 쉽게 전환 할 수 있습니다 (그리고 MVC 방식은 여기에 내가 어떻게 말했는지), JFace의보다 강력한 기능을 통해 얻을 수 있습니까? – ZoFreX

+0

당신은 다음과 같이 썼습니다 : "최종 사용자는 어떤 것을 사용해야 하는지를 지정합니다 (동시에 사용하지 않을 것입니다!)."분명히, 나는 '최종 사용자'가 무슨 뜻인지 알지 못합니다. – bmargulies

+0

SWT와 스윙 사이의 옵션 제공은 내가 결정한 것입니다. 최종 사용자는 런타임에 사용되는 것을 선택하게됩니다. – ZoFreX

관련 문제