VB.NET 2008/VB - 문법

Visual Basic 응용 프로그램 모델 개요 및 코드 명명 규칙

본클라쓰 2011. 4. 4. 11:06

Visual Baisc에서는 Windows Forms 응용 프로그램의 동작을 제어하기 위한 잘 정의된 모델인 Visual Basic 응용 프로그램 모델을 제공합니다. 이 모델에서 처리되지 않은 예외를 catch하기 위한 이벤트와 응용 프로그램의 시작 및 종료를 처리하기 위한 이벤트가 포함됩니다. 또한 단일 인스턴스 응용 프로그램 개발을 위한 지원도 제공합니다. 응용 프로그램 모델은 확장이 가능하므로 더 많은 제어가 필요한 개발자는 재정의 가능한 메소드를 사용자 지정할 수 있습니다.

 

일반적인 응용 프로그램은 시작하고 종료할 때 작업을 수행해야 합니다. 예를 들어, 응용 프로그램은 시작할 때 시작 화면을 표시하고 데이터베이스 연결을 만들고 저장된 상태를 로드하는 등의 작업을 수행할 수 있습니다. 종료할 때는 데이터베이스 연결을 닫고 현재 상태를 저장하는 등의 작업을 수행할 수 있습니다. 또한 응용 프로그램은 처리되지 않은 예외가 발생할 경우처럼 예기치 않게 종료될 때 특정 코드를 실행할 수 있습니다.

 

Visual Basic 응용 프로그램 모델을 사용하면 단일 인스턴스 응용 프로그램을 쉽게 만들 수 있습니다. 단일 인스턴스 응용 프로그램은 응용 프로그램 인스턴스를 한 번에 하나씩만 실행할 수 있다는 점에서 일반 응용 프로그램과 다릅니다. 단일 인스턴스 응용 프로그램에서 다른 인스턴스를 추가로 시작하려고 하면 원래 실행 중이던 인스턴스는 StartupNextInstance 이벤트를 통해 다른 시작이 시도되었다는 알림을 받게 됩니다. 이 알림에는 후속 인스턴스의 명령줄 인수가 포함됩니다. 그러면 응용 프로그램의 후속 인스턴스는 초기화를 실행되기 전에 닫힙니다.

 

 

첫 번째 인스턴스이면 정상적으로 시작됩니다.

 

첫 번째 인스턴스가 실행되고 있는 동안 응용 프로그램을 시작하려는 시도가 이루어지면 그때마다 결과 동작은 매우 달라집니다. 후속 시도는 첫 번째 인스턴스에 명령줄 인수에 대해 알린 다음 즉시 종료됩니다. 첫 번째 인스턴스는 StartupNextInstance 이벤트를 처리하여 후속 인스턴스의 명령줄 인수가 무엇인지 확인한 다음 계속 실행됩니다.

 

StartupNextInstance 이벤트를 처리하여 단일 인스턴스 응용 프로그램이 동작하는 방식을 제어할 수 있습니다. 예를 들어, Microsoft Outlook은 일반적으로 단일 인스턴스 응용 프로그램으로 실행됩니다. Outlook이 실행되고 있을 때 outlook을 다시 시작하려고 하면 포커스가 원래 인스턴스로 변경되고 다른 인스턴스는 열리지 않습니다.

 

 

 

 

응용 프로그램 모델의 이벤트 

 

 

1) 응용 프로그램 시작

 

응용 프로그램은 시작될 때 Startup 이벤트를 발생시킵니다. 이 이벤트를 처리함으로써 기본 폼이 로드되기 전에 응용 프로그램을 초기화하는 코드를 추가할 수 있습니다. 또한 원하는 경우 Startup 이벤트를 통해 시작 프로세스 도중 응용 프로그램의 실행을 취소할 수도 있습니다. 응용 프로그램 시작 코드가 실행되고 있는 동안 시작 화면이 표시되도록 응용 프로그램을 구성할 수 있습니다. 기본적으로 응용 프로그램 모델에서는 /nosplash 또는 -nosplash 명령줄 인수가 사용된 경우 시작 화면을 표시하지 않습니다.

 

 

2) 단일 인스턴스 응용 프로그램

 

단일 인스턴스 응용 프로그램의 후속 인스턴스가 시작되면 StartupNextInstance 이벤트가 발생됩니다. 이벤트는 후속 인스턴스의 명령줄 인수를 전달합니다.

 

 

3) 처리되지 않은 예외

 

응용 프로그램에서 처리되지 않은 예외가 발생하면 UnHandledException 이벤트가 발생합니다. 이 이벤트에 대한 처리기에서 예외를 검사하여 실행을 계속할 것인지 여부를 결정할 수 있습니다. 일부 상황에서는 UnhandledException 이벤트가 발생하지 않습니다.

 

 

4) 네트워크 연결 변경

 

컴퓨터의 네트워크 사용 가능성이 변경되면 응용 프로그램에서는 NetworkAvailabilityChanged 이벤트를 발생시킵니다.

 

 

5) 응용 프로그램의 종료

 

응용 프로그램에서는 종료 신호를 보내기 위한 Shutdown 이벤트를 제공합니다. 이벤트 처리기에서는 응용 프로그램이 수행해야 할 닫기 및 저장 등의 작업이 완료되었는지 확인할 수 있습니다. 기본 폼이 닫힐 때 응용 프로그램이 종료되거나 모든 폼이 닫혔을 경우에만 응용 프로그램의 종료되도록 구성할 수 있습니다.

 

 

 

 

마이크로소프트사의 표준 코드 명명 규칙

 

마이크로소프트의 Visaul Basic 프로그램 작성시 사용되는 명명 규칙이다. Visual Basic 프로젝트 뿐만 아니라 다른 프로그램을 작성할 때 참조하면 좋을 것 같다.

 

1. 이름의 각 단어는 대문자로 시작한다. (예: FindLastRecord)

2. 함수 및 메서드 이름은 동사로 시작한다. (예: InitNameArray)

3. 클래스, 구조체, 모듈 및 속성 이름은 명사로 시작한다. (예: EmployeeName)

4. 인터페이스의 이름은 접두사 'I'로 시작한 다음 명사나 명사구를 쓰거나, 해당 인터페이스의 동작을 설명하는 형용사를 쓴다. 이 때

    밑줄은 사용하지 않으며 약어는 혼돈의 여지가 있으므로 가급적 사용하지 않는다.

5. 이벤트 처리기의 이름은 해당 이벤트의 형식을 설명하는 명사로 시작한 후 접미사 'EventHander'를 쓴다.

6. 이벤트 인수 클래스의 이름에는 접미사 "EventArgs"가 포함된다.

7. 이벤트에 과거나 미래의 시간 개념이 있으면 현재 또는 과거 시제의 접미사를 사용한다. (예: ControlAdded)

8. 길거나 자주 사용되는 용어의 길이는 약어를 사용하여 적절히 줄입니다. 또한 약어는 응용 프로그램 전체에 걸쳐 일치하도록 합

    니다.

9. 외부 범위의 이름과 동일한 이름을 내부 범위에서 사용하지 않도록 한다. 잘못된 변수에 액세스하면 오류가 발생될 수 있다. 변수

    와 동일한 이름의 키워드 사이에 충돌이 일어나는 경우에는 키워드 앞에 적절한 형식 라이브러리를 사용하여 변수와 키워드를 구

    별해야 한다.

 

 

출처) http://msdn.microsoft.com/ko-kr/library/0b283bse(v=VS.90).aspx