2010-08-05 4 views
2

UI 추상화를 사용할 때 사용자가 표시하는 데이터는 UI 레이어의 구현 변경으로부터 보호됩니다. 예를 들어 나무 나 격자로 표시하는 것과 같은 상위 수준의 항목으로 확장 할 수 있습니까? 나는 UI가 추상화를 통해 얻은 데이터를 어떻게 표시 할 것인지에 대한 더 높은 수준의 세부 사항으로부터 추상화를 분리하는 방법을 찾을 수 없습니다.UI 추상화 활용

답변

0

모델 - 뷰 - 컨트롤러 아키텍처로 시작하고 싶습니다. 이렇게하면 데이터 변경으로부터 사용자 인터페이스를 최대한 격리시킬 수 있습니다. Model 레이어는 데이터 객체입니다. View 레이어는 실제 Swing 구성 요소입니다. 컨트롤러 레이어는 청취자입니다. Model 레이어는 클래스에 대한 지식없이 다른 두 레이어와 독립적으로 작성됩니다. View 레이어는 컨트롤러 레이어에 대한 지식없이 작성됩니다.

보다 추상화가 필요하면 모델 레이어에 대한 인터페이스를 만들어 여러 데이터 모델이 모두 동일한 인터페이스를 사용할 수 있도록 할 수 있습니다. 이렇게하면 View 레이어에 어떤 데이터를 제공할지 상관없이 인터페이스 사용을 통해 표시됩니다.

또한 당신이 요구하는 것을 항상 수행 할 수있는 것은 아님을 알고 있습니다. 때로는 표시되는 데이터에 맞게 사용자 인터페이스를 작성해야하는 경우가 있습니다. 트리가 항상 트리가되는 것은 아니며 그리드가 항상 그리드가되는 것은 아닙니다. View 레이어를 사용자 정의하여 표시되는 데이터와 일치하도록하는 것이 좋습니다. 이렇게하면 조작되는 데이터에 맞게 기능을 조정하고 사용자에게 더 나은 인터페이스를 만들 수 있습니다.

물론, 그것이 의미가있는 곳에는 분명히해야합니다. 이것은 경험과 판단이 중요한 요인입니다.