1

MS SQL Server를 백엔드로 사용하여 스윙 및 MVC 디자인 패턴을 사용하여 작은 응용 프로그램을 구현하려고합니다. 응용 프로그램은 간단한 로그인 양식으로 시작됩니다. 또한 응용 프로그램 사용자에게는 두 가지 종류의 역할이 있습니다.MVC, 스윙, 옵저버 패턴 디자인 결정

  1. 관리자 : 모든 사용자와 응용 프로그램이 제공하는 모든 기능을 작성, 삭제, 수정 및 볼 수 있습니다.
  2. 응용 프로그램 사용자 : 응용 프로그램에서 제공하는 기능 만 사용할 수 있습니다.

두 개의 별도 프레임, 즉 각 역할에 대한 UI가 있다고 생각합니다.

기본 로그인 양식/GUI는 Observer 패턴을 사용하여보기를 등록하는 Login 컨트롤러 클래스로보기 역할을합니다. 단추는 컨트롤러가 수신하는 이벤트를 등록하여 적절한 DAO를 호출하여 데이터베이스에 연결하고 사용자가 응용 프로그램에 로그온 할 수 있는지 확인합니다. 로그인을위한 저장 프로시 저는 access_role, 즉 관리자, 응용 프로그램 사용자, 알 수없는 사용자 또는 DAO를 통해 Login Controller로 돌아온 비인가 사용자를 반환합니다.

저는 커플 링을 가능한 한 낮게 유지하려고합니다. 따라서 Observer Pattern을 사용하여 MVC 디자인과 관심사를 분리하십시오.

이제 내 질문은

,

  1. 은 로그인 컨트롤러가 access_role에 따라 결정해야 응용 프로그램 사용자 UI 또는 관리자 UI 중 하나를 보여 반환하거나 초기화해야하는 다시 로그인 UI에 해당 정보를 전달해야합니다 각각의 GUI?
  2. 로그인 컨트롤러가 시작할 UI를 결정해야한다면 해당 GUI에 대해 모든 수신기를 설정해야합니다. 좋은 디자인 결정인가, 아니면 더 좋은 방법인가?
  3. 로그인 컨트롤러가 access_control을 다시 로그인 폼으로 전달하면 해당 로그인 폼은 새 GUI에 대한 모든 수신기를 초기화하고 새 GUI도 인스턴스화해야합니다. 이게 컨트롤러가하는 것보다 낫지?
  4. 관리자 및 응용 프로그램 사용자의 UI는 JFrame 또는 대화 상자 여야합니까?

의견을 기다리고 있습니다. 내가 로그인 컨트롤러 또는 로그인 UI가 내 응용 프로그램의 다른 부분을 초기화 할 것인지

안부, 카 시프 칸

답변

0
  1. 는 잘 모르겠어요. 다른 것들을 처리하는 것이 아니라 사용자를 로깅하는 것이 좋을 것 같습니다. 응용 프로그램의 로그인 부분을 초기화하는 응용 프로그램 제어기 (Application Controller)를 가지고 있고, 사용자가 다음에 초기화해야 할 GUI를 결정하는 메시지를 사용자가 인증 할 때이를 승인하는 것이 좋습니다.

  2. 파트 1에서 설명한 것처럼 로그인 컨트롤러는 전체 응용 프로그램 컨트롤러로 메시지를 전달하여 응용 프로그램의 어느 부분을 다음에 초기화해야하는지 결정해야합니다.

  3. 이러한 모든 작업을 처리하려면 로그인 양식의 범위를 벗어난 것처럼 보일 수 있습니다.로그인 양식은 로그인 성공 여부 및 사용자에 대한 기본 정보를 Application Controller에 전달하여 초기화의 다음 부분에서 데이터베이스에서 필요에 따라 추가 정보를 수집 할 수 있습니다.

  4. JDialog 오라클 설명서에서 "대화 상자 창은 주 스윙 응용 프로그램 창과 별도로 임시 통지를 전송하기위한 독립적 인 하위 창"입니다. 주 응용 프로그램에 대화 상자를 사용하지 않으려 고합니다. 그러나 로그인 양식을 선택하면 허용되는 대화 상자를 사용할 수 있습니다.

이 정보가 도움이되기를 바랍니다.