2009-05-07 3 views
0

CLI 및 웹용 프로그래밍을 많이 해봤지만 최근에는 데스크톱 GUI 프로그래밍에 익숙해졌습니다.다른 "보기"를 구성하는 초보자 GUI 질문

GUI 프로그래밍에 관한 대부분의 자습서에서는 사용할 수있는 다른 컨트롤을 설명하고이를 그대로두고 있습니다. 일부는 더 나은 것들도 몇 가지 유용성 문제를 훑어 보지.

그러나 내 문제는 API 또는 이론이 아니라 내 코드와 관련이 있습니다.

IM 응용 프로그램에 로그인보기, 연락처 목록보기, 대화보기 등의 다양한보기를 구성하려면 어떻게해야합니까?

이들은 하나의 클래스에서 다른 클래스 또는 다른 메소드로 간주됩니까? 다른 패널이 숨겨져 있거나 공개되었거나 다른 창이 모두 있습니까?

가능한 한 언어를 불가지론하는 것으로 답변하고 싶지만 가능하지 않은 경우 Java/Swing 또는 C#/WPF를 고려하고있는 언어/프레임 워크가 필요합니다. 그러나, 학습을 위해 훨씬 더 나은 다른 언어/프레임 워크가 있다면, 나는 그것을 사용하는 것을 고려할 것입니다.

답변

0

일반적으로 각보기는 별도의 파일에서 별도의 클래스가됩니다. 그러면 클래스는 Window 또는 Control과 같은 기본 클래스를 구현할 가능성이 큽니다.

조직이라면 단순한 앱이라면 루트 또는 UI 폴더에 넣으십시오. 또는 Window 폴더와 Controls 폴더 일 수도 있습니다.

여러 개의보기가있는 대형 앱 인 경우 기능, 즉 IM 폴더로 분류하는 것보다보기가 쉽습니다.

0

내가 조슈아가 말한 것과 같이 말하고, 숨겨진 다른 패널을 사용하는 한, 나는 오래된 코드에서 일했으며, 재사용하는 악몽이다. (Delphi 6의 8 라인 이상!) 그래서 가능한 한 다른 윈도우를 사용하십시오!

0

일반적으로 프로그램의 전체적인 구조는 model-view-controller (MVC) 유형의 구조입니다. 따라서 먼저 뷰의 실제 데이터를 만들지 말고 모델로갑니다. 여기에서 각보기 창의 유일한 데이터는 이제 거의 모든 레이아웃 정보와 작업 (클릭, 데이터 표시 등)에서 수행해야 할 작업이므로 서로 다르면 서로 다른 클래스 여야합니다. 팩터 아웃 할 수있는 몇 가지 일반적인 기능이 있다면 기본 클래스로 만들고 상속 할 수 있지만 결국에는 기능이 다른 창은 다른 클래스 여야합니다.

0

주류 IDE 중 하나를 사용하려는 경우이 작업 중 일부를 처리합니다. 기본값은 각 양식에 대해 다른 클래스입니다. 숨겨진 패널과 탭 인터페이스는 좋은 기능이지만 직접 컨트롤 그룹을 삽입하는 방법에 대해 배우고 배울 수 있습니다. 일부 프레임 워크를 사용하면 하나의 양식을 다른 양식에 직접 포함시킬 수 있습니다. 다른 것들은 임베디드 될 수있는 특별한 컨테이너를 가지고 있습니다.

이러한 기능의 핵심은 기능을 해체하여 웨이드하기 어려운 부 풀린 폼 클래스로 마무리하지 않는 것입니다.

비즈니스 로직을 UI와 분리하여 유지하는 데 필요한 아키텍처 패턴을 살펴 보겠습니다. 좋은 출발점은 link입니다.