네트 애플리케이션의 유형과 기본 개념. NET Framework 기술 개요

프로그램이 작성, 수정, 기계어로 변환, 디버깅 및 실행되는 수단의 집합이라고 합니다. 개발 환경또는 껍데기. 플랫폼넷또는 .넷 프레임 워크- 그 이상이다 개발 환경프로그램, 이것은 이전에 이질적인 기술의 혁신적인 새로운 조합입니다. 마이크로소프트, 다양한 운영 체제용 다양한 프로그래밍 언어로 다양한 애플리케이션을 개발할 수 있습니다.

NET Framework는 운영 체제에 대한 추가 기능으로, 윈도우 버전, Unix 및 일반적으로 모든 OS(개발자에 따라) 및 여러 구성 요소로 구성됩니다. 그래서, . .NET 프레임워크에는 다음이 포함됩니다.

  1. 4가지 공식 언어: C#, VB.NET, Managed C++ 및 JScript .NET.
  2. 이러한 언어가 응용 프로그램을 만들기 위해 공유하는 CLR(공용 언어 런타임) 개체 지향 런타임입니다.
  3. FCL(Framework Class Library)이라는 공통 이름 아래 일련의 관련 클래스 라이브러리입니다.

플랫폼의 주요 구성 요소입니다. NET Framework는 CLR(공용 언어 런타임)입니다. 환경 이름인 "공용 언어 런타임"은 그 자체로 다양한 프로그래밍 언어에 적합한 런타임 환경입니다. CLR 기능에는 다음이 포함됩니다.

  1. 2단계 컴파일: 프로그래밍 언어 중 하나로 작성된 프로그램을 관리 코드로 변환 중급 언어 ( 마이크로소프트 중급 언어, MSIL 또는 IL) 그런 다음 IL 코드를 기계별 코드로 변환합니다. 이 작업은 다음을 사용하여 수행됩니다. 가상 기기또는 JIT 컴파일러(Just In Time 컴파일러 - 정확한 시간에 컴파일)
  2. 코드 관리: JIT 컴파일러를 사용하여 미리 만들어진 IL 코드를 로드하고 실행합니다.
  3. 확인을 위해 메타데이터에 액세스 코드 보안;
  4. 가비지 수집기를 사용하여 개체를 배치할 때 메모리 관리(가비지 수집기);
  5. 언어 간 예외를 포함한 예외 및 예외 상황 처리
  6. 관리 코드(CLR용으로 작성된 코드)와 비관리 코드 간의 인터페이스
  7. 다양한 애플리케이션 개발을 위한 서비스 지원.

다음 구성 요소. Net Framework는 FCL - 플랫폼 클래스 라이브러리입니다. 이 라이브러리는 필요한 결과에 따라 하나 또는 다른 부분을 사용할 수 있도록 여러 모듈로 나뉩니다. 예를 들어, 모듈 중 하나에는 Windows 애플리케이션을 구축할 수 있는 "브릭"이 포함되어 있고 다른 하나는 네트워킹 등을 구성하는 데 필요한 "브릭"이 포함되어 있습니다.

FCL의 일부는 기본 유형에 대한 설명에 사용됩니다. 유형은 데이터를 나타내는 방법입니다. 이들 중 가장 기본적인 것을 식별하면 프로그래밍 언어를 더 쉽게 공유할 수 있습니다. 넷 프레임 워크. 이를 통칭하여 공통 유형 시스템(CTS - 하나의 시스템유형).

또한 FCL 라이브러리에는 다음을 설정하는 공용 언어 사양(CLS - 공용 언어 사양)이 포함되어 있습니다. CLS 사양은 플랫폼 언어에 대한 최소 요구 사항을 정의합니다. 그물. 이 사양을 준수하는 컴파일러는 서로 상호 작용할 수 있는 개체를 만듭니다. 따라서 CLS의 요구 사항을 준수하는 모든 언어는 FCL 라이브러리의 모든 기능을 사용할 수 있습니다.

이미 언급했듯이 플랫폼을 위해 설계된 주요 언어. NET 프레임워크는 C#, VB입니다. NET, 관리되는 C++ 및 JScript. 그물. 이러한 언어에 대해 Microsoft는 프로그램을 CLR(공용 언어 런타임) JIT 컴파일러에 의해 실행되는 IL 코드로 변환하는 자체 컴파일러를 제공합니다. Microsoft 외에도 여러 회사와 학술 기관에서 CLR에서 실행되는 코드를 생성하는 자체 컴파일러를 만들었습니다. 현재까지 Pascal, Cobol, Lisp, Perl, Prolog 등의 컴파일러가 알려져 있습니다. 이는 예를 들어 Pascal로 프로그램을 작성한 다음 적절한 컴파일러를 사용하여 공용 언어 런타임에서 실행되는 관리 코드를 작성할 수 있음을 의미합니다.

응용 프로그램, 프로젝트, 솔루션의 개념

넷 프레임 워크가능한 유형에 대한 제한을 부과하지 않습니다. 생성된 애플리케이션. 그러나 가장 일반적인 몇 가지 유형의 응용 프로그램을 살펴보겠습니다.

  1. 콘솔 응용 프로그램을 사용하면 "콘솔", 즉 셸 창에 출력할 수 있습니다.
  2. 요소를 사용하는 Windows 응용 프로그램 윈도우 인터페이스, 양식, 버튼, 확인란 등을 포함합니다.
  3. 웹 애플리케이션은 모든 웹 브라우저에서 볼 수 있는 웹 페이지입니다.
  4. 웹 서비스는 웹 서비스를 만드는 데 사용된 프로그래밍 언어와 웹 서비스가 호스팅되는 시스템에 관계없이 단일 구문을 사용하여 인터넷을 통해 거의 모든 데이터를 교환할 수 있는 분산 응용 프로그램입니다.

개발 중인 애플리케이션을 프로젝트라고 합니다. 여러 애플리케이션을 하나의 솔루션으로 결합할 수 있습니다.

편리한 응용 프로그램 개발 환경은 Visual Studio .Net입니다.

Visual Studio .Net 개발 환경

이 과정에서 우리는 C#을 배울 것입니다. 콘솔 응용 프로그램의 개발과 함께 언어에 대한 친분을 시작합시다. 우리는 Visual Studio를 개발 환경으로 사용할 것입니다. 네트(VS).

일반적인 방법을 사용하여 C# 소스 코드로 파일을 만들 수 있습니다. 텍스트 에디터, 예를 들어 메모장으로 컴파일하고 관리되는 모듈컴파일러를 사용하여 명령줄, 이것은 필수적인 부분입니다. 넷 프레임 워크. 그러나 다음과 같은 이유로 VS를 사용하는 것이 가장 편리합니다.

  1. VS는 소스 코드를 컴파일하는 데 필요한 모든 단계를 자동으로 처리합니다.
  2. VS 텍스트 편집기는 C#과 같이 VS에서 지원하는 언어와 함께 작동하도록 구성되어 있으므로 지능적으로 오류를 감지하고 입력 프로세스 중에 필요한 코드를 정확히 제안할 수 있습니다.
  3. VS에는 사용자 인터페이스 요소를 마우스로 드래그 앤 드롭하여 Windows 및 웹 응용 프로그램을 만들 수 있는 프로그램이 포함되어 있습니다.
  4. C#으로 만들 수 있는 많은 종류의 프로젝트는 프로그램에 미리 포함되어 있는 "스켈레톤" 코드를 기반으로 개발할 수 있습니다. 매번 처음부터 시작하는 대신 VS를 사용하면 기존 소스 코드 파일을 사용할 수 있으므로 프로젝트 생성에 소요되는 시간이 줄어듭니다.

첫 번째 프로젝트 만들기

프로젝트를 생성하려면 VS를 시작한 다음 VS 주 메뉴에서 명령을 선택합니다. 파일 - 신규 - 프로젝트.그러면 대화 메뉴가 열립니다. 새로운 과제(그림 1.1 참조).


쌀. 1.1.

현장에서 프로젝트 유형선택해야 한다 비주얼 C#, 현장에서 템플릿콘솔 애플리케이션.

인라인 이름애플리케이션 이름 입력 안녕하세요. 같은 이름이 줄에 나타납니다. 솔루션 이름. 확인란을 선택 취소합니다. 애플리케이션 디렉토리 생성(단순한 응용 프로그램을 만들고 구조를 복잡하게 만들 필요가 없는 한).

인라인 위치프로젝트를 저장할 디스크의 위치를 ​​결정하십시오. 그리고 버튼을 누르면 확인. 화면의 대략적인 보기는 그림 1.2에 나와 있습니다.


쌀. 1.2.

프로젝트 관리 창은 우측 상단에 있습니다. 솔루션 탐색기 보기 - 솔루션 탐색기. 이 창에는 프로젝트에 포함된 모든 리소스가 나열됩니다.

  1. AssemblyInfo.cs - 정보 집회.

    컴파일러는 실행의 결과로 소위 집회– IL 코드와 메타데이터를 포함하는 확장자가 exe 또는 dll인 파일.

  2. System , System.Data , System.Xml - 표준 라이브러리에 대한 링크입니다.
  3. Program.cs - C#의 프로그램 텍스트입니다.

논평. 다른 버전의 VS에서 여기에는 응용 프로그램 바로 가기의 모양을 담당하는 ico 확장자를 가진 파일도 포함됩니다.

속성 창은 화면 오른쪽 하단에 있습니다. 속성. 닫혀 있으면 명령으로 활성화할 수 있습니다. 보기 속성. 이 창은 선택한 요소의 가장 중요한 특성을 표시합니다.

기본 화면 공간은 환경에 의해 자동으로 생성된 프로그램 텍스트가 포함된 편집기 창이 차지합니다. 텍스트는 프로그래머가 원하는 코드를 추가할 프레임워크입니다. 이 경우 예약어는 파란색, 주석은 녹색, 본문은 검은색으로 표시됩니다.

텍스트가 구조화되어 있습니다. 빼기 기호를 클릭하면 코드 블록이 숨겨지고 더하기 기호를 클릭하면 열립니다.

프로젝트가 포함된 폴더를 열고 구조를 살펴보겠습니다(그림 1.3 참조). 굵게 표시된 파일은 컴파일 후에만 나타납니다.


쌀. 1.3.

이 단계에서 다음 파일이 특히 중요합니다.

  1. 안녕하세요.sln- 전체 프로젝트를 담당하는 메인 파일. 편집을 위해 프로젝트를 열어야 하는 경우 이 특정 파일을 선택해야 합니다. 나머지 파일은 자동으로 열립니다.
  2. 프로그램.cs- 포함하는 파일 원천- C#으로 작성된 코드. 이 파일을 사용하여 직접 작업할 것입니다.
  3. 안녕하세요.exe– 생성된 IL 코드 및 프로젝트 메타데이터가 포함된 파일입니다. 즉, 이 파일은 .Net 플랫폼이 설치된 모든 컴퓨터에서 실행할 수 있는 기성 응용 프로그램입니다.

이제 프로그램 자체의 텍스트를 고려하십시오.

시스템 사용네임스페이스의 표준 클래스 이름을 사용할 수 있도록 하는 지시문입니다. 체계정의된 공간의 이름을 지정하지 않고 직접.

예어 네임스페이스기본적으로 프로젝트 이름이라고 하는 프로젝트에 대한 자체 네임스페이스를 만듭니다. 우리의 경우 네임스페이스를 Hello라고 합니다. 그러나 프로그래머는 자유롭게 다른 이름을 지정할 수 있습니다. 네임스페이스는 이름의 범위를 제한하므로 해당 공간 내에서만 의미가 있습니다. 이것은 다른 응용 프로그램의 이름과 일치할지 걱정하지 않고 프로그램 개체에 이름을 지정할 수 있도록 하기 위해 수행됩니다. 따라서 네임스페이스를 사용하면 응용 프로그램이 상호 작용할 때 특히 중요한 프로그램 개체의 이름 충돌을 피할 수 있습니다.

C#은 객체 지향 언어이므로 C#으로 작성된 프로그램은 상호 작용하는 클래스의 모음이 됩니다. Program 이라는 클래스가 자동으로 생성되었습니다(다른 버전의 환경에서 Class1 이라는 클래스를 생성할 수 있음).

이 클래스에는 Main() 메서드라는 하나의 메서드만 포함되어 있습니다. Main() 메서드는 프로그램의 진입점입니다. ~부터 이 방법응용 프로그램이 실행되기 시작합니다. 모든 C# 프로그램에는 Main() 메서드가 있어야 합니다.

논평 .기술적으로 하나의 프로그램에 여러 Main() 메서드가 있을 수 있습니다. 이 경우 명령줄 옵션을 사용하여 어떤 Main() 메서드가 프로그램의 진입점인지 C# 컴파일러에 알려야 합니다.

디버그-디버깅 시작 프로그램이 오류 없이 실행되면 콘솔 창에 메시지가 표시되고 깜박이고 빠르게 닫힙니다. 일반 모드에서 메시지를 보려면 Ctrl+F5를 누르거나 다음 명령을 실행합니다. 디버깅 없이 디버그 시작.이 경우 다음 콘솔 창이 열립니다.

프로그램 코드에 오류가 포함된 경우(예: 출력 명령 뒤에 세미콜론이 누락된 경우 F5 키를 누르면 오류가 발견되었다는 메시지가 표시되고 질문이 표시되는 대화 상자가 열립니다. 추가 작업을 계속할지 여부입니다. 대답하면 , 이전에 성공적으로 컴파일된 프로그램 버전이 실행됩니다. 그렇지 않으면 프로세스가 중지되고 제어가 오류 목록 창으로 넘어갑니다. 오류 목록.

연습. 메시지가 화면에 표시되도록 코드 텍스트를 변경합니다. 만세!!! 오늘은 컴퓨터공학!!!

.NET 애플리케이션 유형

C# 언어는 DOS 창에서 실행되는 텍스트 기반 응용 프로그램인 콘솔 응용 프로그램을 만드는 데 사용할 수 있습니다. 대부분의 경우 이러한 응용 프로그램은 클래스 라이브러리를 테스트하는 데 사용됩니다. 그러나 더 자주 C#은 .NET과 관련된 많은 기술에 액세스할 수 있는 응용 프로그램을 만드는 데 사용됩니다. 이 문서에서는 C#으로 작성할 수 있는 다양한 유형의 응용 프로그램에 대한 간략한 개요를 제공합니다.

ASP.NET 응용 프로그램 만들기

초기에 ASP.NET 1.0의 등장은 웹 프로그래밍 모델을 근본적으로 바꾸었습니다. ASP.NET 4는 제품의 주요 릴리스이며 레거시를 기반으로 합니다. ASP.NET 4는 생산성 향상을 위한 주요 혁신 단계를 도입했습니다. ASP.NET 4의 주요 목표는 가능한 한 적은 코드를 사용하여 강력하고 안전한 동적 응용 프로그램을 구축할 수 있도록 하는 것입니다.

ASP.NET의 기능

첫 번째이자 아마도 가장 중요한 것은 페이지가 구조화된. 즉, 각 페이지는 실제로 다음에서 상속된 클래스입니다. .NET System.Web.UI.Page 클래스, Page 개체의 수명 주기 동안 호출된 메서드 집합을 재정의할 수 있습니다. (이러한 이벤트를 이벤트의 페이지별 친척으로 생각할 수 있습니다. OnApplication_Start그리고 세션 시작, 클래식 ASP의 global.asax 파일에 있습니다.) 페이지의 기능은 특정 목적을 위해 이벤트 처리기로 분리될 수 있으므로 ASP.NET 페이지는 훨씬 더 쉽게 이해할 수 있습니다.

ASP.NET 페이지의 또 다른 좋은 기능은 Visual Sludio 2010에서 만들 수 있다는 것입니다. Visual Sludio 2010은 이러한 동일한 ASP.NET 페이지에서 사용되는 비즈니스 논리 및 데이터 액세스 구성 요소가 프로그래밍되는 동일한 환경입니다. Visual Studio 2010 프로젝트 또는 솔루션에는 응용 프로그램과 관련된 모든 파일이 포함되어 있습니다. 게다가 클래식 ASP 페이지는 편집기에서 직접 디버깅할 수 있습니다. Visual InterDev가 있던 시절에는 디버깅을 가능하게 하기 위해 InterDev와 프로젝트의 웹 서버를 구체적으로 구성해야 하는 성가신 필요가 있었습니다.

더 명확하게 하기 위해 ASP.NET 코드 숨김 기능을 사용하면 구조화된 접근 방식을 더욱 확장할 수 있습니다. ASP.NET을 사용하면 한 클래스에 있는 페이지의 서버 기능을 분리하고 이 클래스를 다른 페이지와 함께 다음으로 컴파일할 수 있습니다. DLL이 DLL을 HTML 부분 아래의 디렉토리에 배치합니다. 페이지 상단의 @Page 지시문은 이 파일을 클래스와 연결합니다. 브라우저가 페이지를 요청하면 웹 서버는 페이지의 클래스 파일에 있는 클래스에서 이벤트를 발생시킵니다.

마지막으로 언급해야 하는 ASP.NET 속성은 성능 향상입니다. 클래식 ASP 페이지는 페이지에 액세스할 때마다 해석되지만 ASP.NET 페이지는 컴파일 후 웹 서버에 캐시됩니다. 이는 모든 후속 ASP.NET 페이지 요청이 첫 번째 요청보다 빠릅니다.

또한 ASP.NET을 사용하면 회사 네트워크에서 사용할 수 있는 브라우저에 양식을 표시하는 페이지를 쉽게 작성할 수 있습니다. 양식 기반 응용 프로그램에 대한 전통적인 관점은 풍부한 사용자 인터페이스를 제공하지만 많은 클라이언트 시스템에서 실행되기 때문에 유지 관리가 더 어렵다는 것입니다. 이러한 이유로 사람들은 풍부한 인터페이스가 필요하고 안정적인 사용자 지원을 제공할 수 있는 경우에만 양식 기반 응용 프로그램에 의존합니다.

웹 양식

웹 페이지를 보다 쉽게 ​​디자인할 수 있도록 Visual Studio 2010은 Web Forms 라이브러리를 제공합니다. 이 도구를 사용하면 Windows에서 생성되는 것처럼 ASP.NET 페이지를 그래픽으로 생성할 수 있습니다. 비주얼 베이직 6 및 C++Builder에서. 즉, 드래그해야 합니다. 필요한 요소도구 모음에서 폼 표면으로 컨트롤을 이동한 다음 폼 코드를 약간 조정하고 컨트롤에 대한 이벤트 핸들러를 작성합니다. C#을 사용하여 웹 양식을 만들 때 기본 클래스에서 상속하는 C# 클래스를 만듭니다. 페이지및 해당 클래스를 코드 숨김으로 렌더링하는 ASP.NET 페이지가 있습니다. 물론 웹 양식을 만들기 위해 C#을 사용할 필요는 없습니다. 이를 위해 Visual Basic 2010 또는 기타 .NET 지향 언어를 사용할 수도 있습니다.

과거에는 웹 개발의 복잡성으로 인해 일부 개발 팀이 웹 개발을 마스터하려고 시도하지 못했습니다. 웹 애플리케이션 개발에 성공하려면 많은 것을 알아야 했습니다. 다른 기술 VBScript, ASP, DHTML, JavaScript 등과 같은 Web Forms 개념을 웹 페이지에 적용하면 웹 응용 프로그램을 훨씬 쉽게 구축할 수 있습니다.

웹 서버 컨트롤

Web Forms에서 사용되는 컨트롤은 ActiveX 컨트롤과 같은 의미의 컨트롤이 아닙니다. 대신 페이지가 요청될 때 웹 브라우저가 HTML 태그 및 클라이언트 측 스크립트로 동적으로 변환하는 ASP.NET 네임스페이스에 속하는 XML 태그입니다. 놀라운 점은 웹 서버가 동일한 서버 측 컨트롤을 렌더링할 수 있다는 것입니다. 다른 방법들, 요청을 보낸 특정 웹 브라우저에 해당하는 변환을 생성합니다. 즉, 이제 모든 페이지에서 페이지를 작동시키는 방법에 대해 걱정할 필요 없이 완벽한 웹 페이지 사용자 인터페이스를 쉽게 만들 수 있습니다. 사용 가능한 브라우저- Web Forms가 처리합니다.

XML 웹 서비스

오늘날 HTML 페이지는 World Wide Web에서 트래픽의 대부분을 차지합니다. 그러나 XML을 사용하면 컴퓨터는 인터넷에서 통신하는 데 사용할 수 있는 장치 독립적 형식을 갖게 됩니다. 미래에 컴퓨터는 EDI(Electronic Data Interchange)와 같은 독점 형식으로 전용 회선을 통해 메시지를 서로 보내는 대신 XML을 사용하여 정보를 교환할 수 있게 될 것입니다. XML 웹 서비스는 원격 컴퓨터가 최종 형식으로 사용자에게 제공되기 전에 구문 분석하고 다시 형식화할 수 있는 동적 정보를 서로 제공하는 서비스 지향 웹 환경을 위해 설계되었습니다. XML Web Services는 컴퓨터가 XML 형식의 정보를 인터넷의 다른 컴퓨터에 제공하는 간단한 방법입니다.

기술 용어로 .NET의 XML Web Service는 클라이언트가 요청할 때 HTML 대신 XML을 반환하는 ASP.NET 페이지입니다. 이러한 페이지는 WebService에서 상속되는 클래스를 포함하는 코드 숨김 DLL에 의존합니다. Visual Studio 2010 IDE는 웹 서비스를 쉽게 만들 수 있는 메커니즘을 제공합니다.

기업이나 조직은 두 가지 주요 이유로 XML Web Services를 사용하도록 선택할 수 있습니다. 첫 번째 이유는 HTTP를 기반으로 하기 때문입니다. 웹 서비스는 기존 HTTP 기반 네트워크를 중개자로 사용하여 정보를 전송할 수 있습니다. 또 다른 이유는 XML Web Services가 XML을 사용하기 때문에 전달되는 데이터 형식이 자체 문서화되고 개방적이며 플랫폼에 독립적이기 때문입니다.

Windows Forms 만들기

C# 및 .NET은 웹 개발을 위해 특별히 설계되었지만 여전히 소위 "thick client" 응용 프로그램을 지원합니다. 대부분의 처리가 수행되는 최종 사용자의 컴퓨터에 설치해야 하는 응용 프로그램입니다. 이것은 Windows Forms 라이브러리(Windows Forms)에서 제공합니다.

그러나 .NET 플랫폼을 배우기 시작한다면 추천하지 않았다 Windows Forms를 배우고 즉시 최신 WPF 기술 학습으로 넘어갑니다.

WPF(윈도우 프레젠테이션 파운데이션)

중 하나 최신 기술혁신적인 성격을 지닌 것은 WPF(Windows Presentation Foundation)입니다. 응용 프로그램을 빌드할 때 WPF는 XAML을 사용합니다. XAML은 Extensible Application Markup Language - Extensible Application Markup Language의 약자입니다. 이것 새로운 방법 2006년에 처음 도입된 Microsoft 환경 내에서 응용 프로그램 만들기는 .NET Framework 3.0, 3.5 및 4의 일부입니다. 즉, WPF 응용 프로그램을 실행하려면 .NET Framework가 클라이언트 컴퓨터에 설치되어 있는지 확인해야 합니다. 3.0, 3.5 또는 4. WPF 응용 프로그램은 Windows 7, Windows Vista, Windows XP, 윈도우 서버 2003 및 Windows Server 2008(이 운영 체제에서만 .NET Framework 3.0, 3.5 또는 4를 설치할 수 있음).

XAML은 WPF 응용 프로그램의 모든 시각적 측면과 동작을 나타내는 양식을 만드는 데 사용되는 XML 선언입니다. WPF 응용 프로그램은 프로그래밍 방식으로 조작할 수 있기 때문에 이 기술은 오늘날 전체 산업이 나아가고 있는 선언적 프로그래밍 방향으로 나아가는 단계를 나타냅니다. 선언적 프로그래밍은 C#, VB 또는 Java와 같은 컴파일된 언어로 코드를 작성하여 개체를 생성하는 대신 XML과 같은 프로그래밍을 사용하여 모든 것을 선언하는 것을 의미합니다.

윈도우 서비스

Windows 서비스(Windows 서비스, 원래 NT 서비스라고 함)는 Windows NT/2000/XP/2003/Vista/7(Windows 9x 제외)에서 백그라운드에서 실행되도록 설계된 프로그램입니다. 이러한 서비스는 사용자 주도로 프로그램을 명시적으로 시작하지 않고도 이벤트에 응답할 수 있도록 프로그램을 유지해야 할 때 유용합니다. 좋은 예는 클라이언트의 웹 요청을 수신하는 웹 서버의 World Wide Web 서비스입니다.

C#으로 서비스를 개발하는 것은 매우 쉽습니다. 네임스페이스에서 시스템.서비스.프로세스시스템 서비스와 관련된 대부분의 상용구 작업을 해결할 수 있는 기본 .NET 환경 클래스를 사용할 수 있습니다. 또한 Visual Studio .NET을 사용하면 C# 소스 코드를 사용하여 Windows 서비스를 빌드하는 C# Windows 서비스 프로젝트를 만들 수 있습니다.

WCF(Windows 통신 재단)

Microsoft 기술이 데이터와 서비스를 한 위치에서 다른 위치로 이동하는 방법을 탐색하면 원하는 대로 사용할 수 있는 다양한 솔루션이 있음을 알게 될 것입니다. 예를 들어 ASP.NET 웹 서비스, .NET Remoting, 엔터프라이즈 서비스 또는 MSMQ를 사용할 수 있습니다. 어떤 기술을 선택할 것인가? 이 질문에 대한 답은 달성하려는 목표에 따라 결정됩니다. 이러한 각 기술은 특정 상황에서 선호되기 때문입니다.

이를 염두에 두고 Microsoft는 이러한 모든 기술을 실제로 통합했으며 .NET Framework 3.0과 .NET Framework 3.5 및 4에 포함된 데이터를 이동하는 단일 방법은 WCF(Windows Communication Foundation)입니다. . WCF 라이브러리는 초기에 서비스를 빌드한 다음 단순히 구성 파일을 변경하여 다른 방식으로(다른 프로토콜에서도) 이 서비스를 제공할 수 있는 기능을 제공합니다. WCF분산 시스템을 상호 연결하는 매우 강력한 새 수단입니다.

Windows 워크플로 파운데이션(WF)

Windows WF(Workflow Foundation) 서비스는 .NET Framework 3.0에서 처음 도입되었지만 현재는 대대적인 점검을 거쳐 많은 사람들이 이 서비스를 훨씬 더 유용하게 사용할 수 있게 되었습니다. Visual Studio 2010에서는 WF 환경이 크게 향상되어 작업자 스레드를 훨씬 쉽게 만들 수 있습니다. 또한 새로운 흐름 제어, Flowchart 클래스 및 DoWhile, ForEach 및 ParallelForEach와 같은 여러 새로운 작업을 찾을 수 있습니다.

.NET Framework는 Windows 시스템의 구성 요소 중 하나입니다. 이를 통해 차세대 애플리케이션을 만들고 사용할 수 있습니다. 플랫폼의 목적 .넷 프레임 워크 :

  • 일관된 생성 객체 지향 프로그래밍 환경다양한 구현 옵션 허용: 코드를 로컬에 저장하고 실행할 수 있습니다. 로컬에서 실행되고 인터넷을 통해 배포됩니다. 또는 원격으로 실행
  • 배포 중 충돌 수가 발생하는 코드 런타임 제공 소프트웨어버전 관리는 최소한으로 유지됩니다.
  • 알 수 없는 개발자 또는 부분 신뢰를 가진 개발자가 만든 코드를 포함하여 환경에서 코드 실행의 보안을 보장합니다.
  • 스크립트 또는 해석 기반 환경에서 성능 문제를 해결하기 위해 코드 실행 환경을 제공합니다.
  • 완전히 다른 응용 프로그램에서 개발자 작업 통합: Windows 응용 프로그램, 그리고 웹 애플리케이션에서;
  • 데이터 교환의 모든 영역에서 산업 표준을 사용하고 결과적으로 .NET Framework에서 생성된 코드와 다른 프로그램의 호환성을 보장합니다.

모두에게 좋은 하루. Alexey Gulynin이 연락했습니다. C#에 대한 이 첫 번째 기사에서 플랫폼에 대해 이야기하고 싶습니다. .넷 프레임 워크. C# 언어와 플랫폼 자체는 2002년에 처음 등장했습니다. 그들의 생성의 주요 목표는 COM 프로그래밍 모델과 비교하여 더 간단하고 확장 가능하며 가장 중요한 것은 더 강력한 프로그래밍 모델을 제공하는 것이었습니다. .NET Framework를 기반으로 운영 체제 제품군을 위한 애플리케이션을 구축할 수 있습니다. 윈도우 시스템, Unix, Linux, Mac OS X용 응용 프로그램을 빌드할 수도 있습니다. 아래는 간략한 내용입니다. .NET Framework에서 지원하는 기능 목록:

1) 기존 코드와 상호 작용하는 기능. 이 기능을 사용하면 예를 들어 바이너리 COM 구성 요소 및 .NET 구성 요소를 컴파일할 수 있습니다.
2) 다양한 프로그래밍 언어 지원. .NET 응용 프로그램은 다음을 사용하여 만들 수 있습니다. 다른 언어들프로그래밍(예: C#, Visual Basic, F#).
3) 일반 실행 메커니즘. 여기서 요점은 .NET에는 모든 .NET 지원 언어가 이해할 수 있는 특정 유형 집합이 있다는 것입니다.
4) 언어 통합. Visual Basic에서 클래스를 작성한 다음 C#에서 확장할 수 있습니다.
5) 대규모 기본 클래스 라이브러리. 이 라이브러리 덕분에 저수준 API 호출 구현의 복잡성을 잊고 프로그래밍에만 집중할 수 있습니다.
6) 단순 배포 모델. COM 라이브러리와 달리 .NET은 레지스트리에 등록할 필요가 없습니다. Assembly.dll로 존재할 수 있습니다.

아마도 여기에 클래스, API와 같은 모호한 것들에 대해 썼을 것입니다. 지금은 번거롭게 할 가치가 없습니다. 원칙적으로는 이것을 다 알지 못해도 프로그래밍을 할 수 있지만, 배우면서 실습을 이론으로 상당히 희석시키도록 합시다.
이론을 완전히 끝내기 위해 .NET 플랫폼의 주요 구성 요소에 대해 알려 드리겠습니다.

1) CLR(공용 언어 런타임) - 공용 언어 런타임. 이 환경의 주요 작업은 .NET 개체를 로드하고 관리하는 것입니다(프로그래머가 수동으로 이 작업을 수행할 필요가 없도록). 또한 CLR은 메모리 관리, 응용 프로그램 레이아웃 및 응용 프로그램 보안 검사와 같은 여러 하위 수준 세부 정보를 처리합니다.
2) CTS(Common Type System) - 공통 유형 시스템. 여기에는 런타임 환경(CLR)에서 지원하는 모든 가능한 데이터 유형이 설명되어 있습니다. 단일 언어가 CTS 사양에 정의된 모든 기능을 절대적으로 지원하지 않을 수 있음을 알아야 합니다. 따라서 다음이 있습니다.
3) CLS(공용 언어 사양). .NET Framework의 모든 프로그래밍 언어에서 지원해야 하는 공통 유형 및 프로그래밍 구성의 하위 집합에 대해 설명합니다.

CLR 및 CTS/CLS 사양 외에도 .NET 플랫폼은 다음을 제공합니다. 기본 클래스 라이브러리, 모든 .NET 프로그래밍 언어에서 사용할 수 있습니다. 이 라이브러리는 높은 수준에서 (구현 세부 사항에 대해 생각하지 않고) 예를 들어 파일 I/O, 그래픽, 다양한 외부 장치, 데이터 스트림 및 다양한 서비스.

저는 이론 작가가 아니므로 .NET 철학에 대해 더 깊이 이해하고 싶은 분들은 Andrew Troelsen의 The C# 5.0 Programming Language and the .NET 4.5 Platform, 2013의 첫 번째 장을 읽는 것이 좋습니다. .NET 플랫폼에 대한 이 요약은 이 책에서 가져온 것입니다. 이 책을 공부하면서 부딪힌 문제는 초보자에게 자료를 제시하는 것이 어렵다는 것이다. 당신은 그렇게 생각하지 않을 수도 있습니다, 이것은 제 생각일 뿐입니다.

자, 친구들이여, 여전히 C#을 배우고 싶습니까? 그런 다음 대담하게 더 나아가서 미래에는 최소한의 이론적인 기사(C# 학습 초기에만 가능)와 단 하나의 실습만 있을 것이라고 약속합니다. 이론이 필요하다면 Andrew Troelsen의 책을 "연기"하십시오.
따라서 클래스 또는 해당 메서드에 대한 정보가 필요하면 직접

환경의 개념입니다. 환경 요인 및 분류

생태학에서 "환경"이라는 용어는 단어의 넓은 의미와 좁은 의미로 사용됩니다. 넓은 의미에서 환경은 환경입니다. 환경은 지구에 존재하는 모든 생활 조건의 총체입니다. 미국 생물학자인 P. Ehrlich는 60년대 후반에 출판된 그의 책 "Population Explosion"에서 환경을 비유적으로 특성화했습니다. , 미네랄 영양소와 살아있는 유기체, 그렇지 않으면 눈에 띄지 않는 행성을 덮고 있습니다." 좁은 의미의 환경은 서식지입니다. 서식지는 유기체를 둘러싸고 있으며 유기체가 직접 상호작용하는 자연의 일부입니다. 각 유기체의 서식지는 다양하고 다양합니다. 그것은 생물과 무생물의 많은 요소와 인간이 경제 활동의 결과로 도입 한 요소로 구성됩니다.
유기체와 관련된 환경의 모든 요소는 동일하지 않습니다. 그 중 일부는 생명 활동에 영향을 미치고 다른 요소는 무관심합니다. 이와 관련하여 환경의 모든 요소는 다음과 같이 그룹화됩니다.
1. 중성 요소는 신체에 영향을 미치지 않고 신체에 반응을 일으키지 않는 환경 요소입니다.
2. 환경적 요인은 적어도 개인 발달의 한 단계 동안 신체에 직접 또는 간접적으로 영향을 미치고 특정 적응 반응을 일으키게 할 수 있는 환경 요소입니다.
환경 환경 요인은 다양하며 행동의 성격과 특이성이 다릅니다. 신체에 대한 중요성에 따라 두 그룹으로 나뉩니다.
1. 존재 조건 또는 생활 조건은 유기체가 존재할 수 없으며 불가분의 단일체로 존재하는 환경 요인입니다. 이러한 요인 중 하나 이상이 없으면 유기체가 사망합니다.
2. 이차적 요인은 필수적이지는 않지만 유기체의 존재를 수정하고 개선하거나 악화시킬 수 있는 환경적 요인입니다.
매우 다양한 환경 요인을 기원의 특성에 따라 분석하면 이를 세 개의 큰 그룹으로 나눌 수 있으며, 각 그룹에서 하위 그룹을 구분할 수 있습니다.
I. 비생물적 요인은 신체에 직간접적으로 영향을 미치는 무생물 요인입니다. 4개의 하위 그룹으로 나뉩니다.
a) 기후 요인 - 이들은 기후를 형성하고 유기체의 삶에 영향을 미칠 수 있는 모든 요인(빛, 온도, 습도, 대기압, 풍속 등)입니다.
b) edaphic 또는 토양, 요인은 유기체의 수명에 영향을 미치는 토양 특성입니다. 그것들은 차례로 물리적(기계적 구성, 울퉁불퉁함, 모세관, 듀티 사이클, 공기 및 투습성, 공기 및 수분 용량, 밀도, 색상 등) 및 화학적(산도, 미네랄 구성, 부식질 함량) 토양 특성으로 나뉩니다. ;
c) 지형적 요인 또는 기복 요인은 유기체의 삶에 대한 부조의 특성 및 특성의 영향입니다(해수면 위 지형의 높이, 적도에 대한 지형의 위도, 경사도 지형은 수평선에 대한 지형의 경사각이고, 지형의 노출은 기본 지점과 관련된 지형의 위치입니다.
d) 수력학적 요인 - 이것은 유기체의 삶에 대한 모든 상태(액체, 고체, 기체) 및 물리적 환경 요인(소음, 진동, 중력, 자기, 전자기 및 이온화 방사선)의 물의 영향입니다.
Ⅱ. 생물학적 요인은 살아있는 자연의 요인, 살아있는 유기체가 서로에게 미치는 영향입니다. 그들은 가장 다양한 성질을 가지고 있으며 직접적일 뿐만 아니라 주변의 무기적 성질을 통해 간접적으로 작용한다. 영향을 미치는 유기체의 유형에 따라 두 그룹으로 나뉩니다.
a) 종 내 요인 - 이것은 동일한 종의 개체가 신체에 미치는 영향입니다 (토끼에서 토끼로, 소나무에서 소나무로 등).
b) 종간 요인 - 이것은 신체에 대한 다른 종의 개체의 영향입니다 (토끼의 늑대, 자작 나무의 소나무 등).
특정 왕국에 속하는 것에 따라 생물학적 요인은 네 가지 주요 그룹으로 나뉩니다.
a) 식물 발생 요인 - 이것은 식물이 신체에 미치는 영향입니다.
b) 동물성 요인 - 이것은 동물이 신체에 미치는 영향입니다.
c) 미세 요인 - 이것은 미생물(바이러스, 박테리아, 원생동물, 리케차)이 신체에 미치는 영향입니다.
d) 진균 인자 - 이것은 신체에 대한 곰팡이의 영향입니다.
III. 인위적 요인은 유기체의 삶에 대한 인간의 영향입니다. 영향의 성격에 따라 두 그룹으로 나뉩니다.
) 직접적인 영향 요인 - 이것은 사람이 신체에 미치는 직접적인 영향입니다(풀 깎기, 삼림 벌채, 동물 쏘기, 물고기 잡기 등).
b) 간접적 인 영향 요인 - 이것은 사람의 존재 사실에 의한 영향입니다 (매년 사람들을 호흡하는 과정에서 1.1x1012kg의 이산화탄소가 대기에 들어가고 2.7x1015kcal의 에너지가 빠져 나옵니다. 식품 형태의 환경) 및 경제 활동(농업, 산업, 운송, 가사 활동 등)을 통해.
영향의 결과에 따라 이러한 인위적 요인의 두 그룹은 차례로 긍정적인 요인(식물 심기 및 먹이기, 동물 번식 및 보호, 환경 보호 등)으로 더 세분화되어 유기체 또는 개체 수를 늘리거나 유기체의 생명을 손상시키거나 개체 수를 줄이는 부정적인 요인(나무 자르기, 환경 오염, 서식지 파괴, 도로 건설 및 기타 통신)을 증가시킵니다.
불변성의 정도에 따른 환경 요인의 원래 분류, 즉 주기에 따라 A.S. Monchadsky가 제안했습니다. 이 분류에 따르면 다음 세 그룹의 요인이 구별됩니다.
1. 1차 주기요인은 지구에 생명체가 출현하기 전부터 작용하기 시작한 요인으로 생명체가 즉각적으로 적응해야 하는 요인(일광의 주기성, 계절의 계절적 주기성, 음력의 리듬 등)이다.
2. 2차 주기 요인은 1차 주기 요인(습도, 온도, 식품 역학, 수중 가스 함량 등)의 결과인 요인입니다.
3. 비주기적 요인 - 주기성이나 주기성이 정확하지 않은 요인(에다픽 요인, 인위적 요인, 수질, 대기 또는 토양의 오염물질 함량 등)입니다.
시간 경과에 따른 변화의 성격에 따라 환경 요인도 세 그룹으로 나뉩니다.
1. 규칙적으로 주기적인 요인은 시간, 계절 또는 조류의 리듬(조도, 온도, 일조시간 등)에 따라 그 강도가 변하는 요인이다.
2. 불규칙 요인은 명확하게 정의된 주기성이 없는 요인입니다(다른 연도의 기후 요인, 홍수, 허리케인, 지진 등으로 인한 재앙적 기원 요인).
3. 방향성 요인 - 장기간에 걸쳐 한 방향으로 작용하는 요인입니다(기후의 냉각 또는 온난화, 저수지의 과도한 성장, 한 곳에서의 방목 등).
환경 요인의 영향에 대한 신체 반응의 특성에 따라 다음과 같은 환경 요인 그룹이 구별됩니다.
1. 자극제는 생리적 기능과 생화학적 반응의 적응적 변화를 일으키는 요인입니다.
2. 수정자는 신체의 적응적 해부학적 및 형태학적 변화를 일으키는 요인입니다.
3. 리미터는 주어진 조건에서 존재하는 것을 불가능하게 하고 유기체의 확산을 위한 환경을 제한하는 요소입니다.
4. 신호 장치는 다른 요인의 변화를 알리고 경고 신호로 작용하는 요인입니다.
신체와 상호 작용할 때 소비 가능성에 따라 환경 요인은 두 가지 범주로 나뉩니다.
1. 조건은 시간과 공간에 따라 변하는 환경적 환경요인으로, 그 요인의 강도(온도, 습도, 기압, 토양의 물리적 성질 등)에 따라 신체가 다르게 반응한다. 조건은 몸에 의해 소진되거나 소진되지 않습니다.
2. 자원은 유기체가 소비하는 모든 환경적 환경 요인이며 유기체와의 상호작용의 결과로 그 양(사용 가능한 재고)이 감소할 수 있다는 의미에서 소비합니다. 자원은 주로 유기체의 몸을 구성하는 물질, 생명주기의 특정 단계가 일어나는 장소뿐만 아니라 생명 활동의 과정에 관련된 에너지입니다.
생태학에서는 위와 같은 환경요인 분류 외에도 연구자의 관심에 따라 다양한 기준에 따라 다른 분류가 사용된다.



관련 기사: