.NET 프레임워크란 무엇입니까? 설명하다 Archi강의 및 구성 요소

⚡ 스마트 요약

.NET Framework는 Microsoft 구축 및 실행을 위한 플랫폼 Windows 데스크톱, 웹 및 서비스 애플리케이션 개발을 지원합니다. 공용 언어 런타임(CLR), 공유 클래스 라이브러리, 그리고 C# 및 VB.NET과 같은 언어를 하나의 관리형 개발 환경으로 통합합니다.

  • 🧩 정의: .NET Framework는 Windows데스크톱 및 웹 앱 개발을 위한 도구, 언어 및 라이브러리 모음입니다.
  • 🏛️ Archi강의: 공용 언어 런타임은 관리되는 코드를 실행하는 반면, 클래스 라이브러리는 재사용 가능한 기성 기능을 제공합니다.
  • ⚙️ 핵심 구성 요소: CLR(클래스 라이브러리)과 지원되는 언어들은 함께 작동하여 애플리케이션을 컴파일하고 실행합니다.
  • 🛡️ 설계 원칙: 상호 운용성, 이식성, 보안, 자동 메모리 관리 및 간소화된 배포가 프레임워크의 핵심 요소입니다.
  • 🌐 응용 프로그램 유형: WinForms는 데스크톱 앱을 구축하고, ASP.Net은 웹사이트를 구동하며, ADO.Net은 데이터베이스에 연결합니다.
  • 🤖 AI의 관련성: ML.NET과 ONNX 런타임은 머신 러닝 기능을 추가하고, GitHub Copilot은 .NET 코딩 속도를 향상시킵니다.

.NET 프레임워크란 무엇인가요?

.Net 프레임워크란 무엇입니까?

. 닷넷 프레임 워크 에서 개발한 소프트웨어 개발 플랫폼입니다. Microsoft 구축 및 실행을 위해 Windows 응용 프로그램. .Net 프레임워크는 데스크톱 및 웹 애플리케이션을 구축하기 위한 개발자 도구, 프로그래밍 언어, 라이브러리로 구성됩니다. 또한 웹사이트, 웹 서비스, 게임을 구축하는 데에도 사용됩니다.

.NET 프레임워크는 .NET 운영체제에서 실행되는 애플리케이션을 만들기 위해 설계되었습니다. Windows 플랫폼. .Net Framework의 첫 번째 버전은 2002년에 출시되었습니다. 이 버전은 .Net Framework 1.0이라고 불렸습니다. 그만큼 Microsoft 그 이후로 .NET 프레임워크는 많은 발전을 거듭해 왔으며, 최신 버전은 .NET 프레임워크 4.8.1입니다.

The Microsoft .NET 프레임워크를 사용하여 두 가지 모두를 만들 수 있습니다. 양식 기반 웹 기반 분야의 다양한 어플리케이션에서 사용됩니다. 웹 서비스 .Net 프레임워크를 사용하여 개발할 수도 있습니다.

프레임워크는 Visual Basic 및 C#과 같은 다양한 프로그래밍 언어도 지원합니다. 따라서 개발자는 필요한 애플리케이션을 개발하는 데 언어를 선택하고 선택할 수 있습니다. 이 장에서는 .Net 프레임워크의 몇 가지 기본 사항을 학습합니다.

. 닷넷 프레임 워크 Archi강의

. 닷넷 프레임 워크 Archi강의 다양한 프로그래밍 언어의 간편한 개발 및 배포를 위해 실행 환경과 다양한 프로그래밍 언어와의 통합을 제공하는 .Net 플랫폼용 프로그래밍 모델입니다. Windows 및 데스크탑 애플리케이션. 클래스 라이브러리와 재사용 가능한 구성 요소로 구성됩니다.

.NET 프레임워크의 기본 아키텍처는 아래와 같습니다.

. 닷넷 프레임 워크 Archi강의 다이어그램

. 닷넷 프레임 워크 Archi강의 다이어그램

.NET 구성요소

.NET 프레임워크의 아키텍처는 다음과 같은 주요 구성 요소를 기반으로 합니다.

1. 공용 언어 런타임

The 공용 언어 런타임(CLR) .Net 아키텍처에서 .Net 프로그램이 실행되는 실행 엔진입니다.

CLR은 다음과 같은 주요 특징을 가지고 있습니다.

예외 처리 예외는 애플리케이션 실행 중에 발생하는 오류입니다. 예외의 예는 다음과 같습니다.

  • 응용 프로그램이 로컬 컴퓨터에서 파일을 열려고 하지만 파일이 없는 경우입니다.
  • 응용 프로그램이 다음에서 일부 레코드를 가져오려고 시도하는 경우 데이터베이스, 그러나 데이터베이스에 대한 연결이 유효하지 않습니다.

쓰레기 수거 — 가비지 컬렉션은 더 이상 필요하지 않은 리소스를 제거하는 프로세스입니다. 가비지 컬렉션의 예는 다음과 같습니다.

  • 더 이상 필요하지 않은 파일 핸들입니다. 애플리케이션이 파일에 대한 모든 작업을 완료한 경우 파일 핸들이 더 이상 필요하지 않을 수 있습니다.
  • 데이터베이스 연결이 더 이상 필요하지 않습니다. 애플리케이션이 데이터베이스에서 모든 작업을 완료한 경우 데이터베이스 연결이 더 이상 필요하지 않을 수 있습니다.

다양한 프로그래밍 언어를 사용하여 작업 — 앞서 언급했듯이 개발자는 다양한 .Net 프로그래밍 언어로 애플리케이션을 개발할 수 있습니다.

  1. Language 첫 번째 단계는 프로그래밍 언어 자체입니다. 가장 일반적인 언어로는 VB.Net과 C#이 있습니다.
  2. 컴파일러 — 각 프로그래밍 언어마다 별도의 컴파일러가 있습니다. 따라서 VB.Net 언어에는 별도의 VB.Net 컴파일러가 있으며, C#에도 마찬가지로 별도의 컴파일러가 있습니다.
  3. 공용 언어 런타임 — 이것은 .Net의 마지막 계층으로, 어떤 언어로 개발되었든 .Net 프로그램을 실행하는 데 사용됩니다. 프로그래밍 언어그다음 컴파일러는 프로그램을 CLR 계층으로 보내 .Net 애플리케이션을 실행합니다.

.NET 구성요소

2. 클래스 라이브러리

.NET Framework에는 표준 클래스 라이브러리 집합이 포함되어 있습니다. 클래스 라이브러리는 핵심 목적으로 사용할 수 있는 메서드와 함수의 모음입니다.

예를 들어, 파일 수준의 모든 작업을 처리하는 메서드를 포함하는 클래스 라이브러리가 있습니다. 따라서 파일에서 텍스트를 읽는 데 사용할 수 있는 메서드가 있습니다. 마찬가지로 파일에 텍스트를 쓰는 메서드도 있습니다.

대부분의 메소드는 System.* 또는 Microsoft.* 네임스페이스. (별표 *는 시스템 또는 시스템에 속하는 모든 메소드에 대한 참조를 의미합니다. Microsoft 네임스페이스.)

네임스페이스는 관련된 클래스들을 하나의 이름 아래에 그룹화하여 메서드를 논리적으로 분리하는 것입니다.

3. 언어

.NET 프레임워크로 개발할 수 있는 애플리케이션 유형은 크게 다음과 같은 범주로 분류됩니다.

WinForms — 이것은 개발에 사용됩니다.ping 폼 기반 애플리케이션은 최종 사용자 컴퓨터에서 실행됩니다. 메모장은 클라이언트 기반 애플리케이션의 예입니다.

ASP.Net — 이것은 개발에 사용됩니다.ping 웹 기반 애플리케이션은 인터넷 익스플로러, 크롬 등 모든 브라우저에서 실행되도록 만들어졌습니다. Firefox.

  • 해당 웹 애플리케이션은 인터넷 정보 서비스(IS)가 설치된 서버에서 처리될 것입니다.
  • 인터넷 정보 서비스(IIS)는 Microsoft 실행하는 데 사용되는 구성 요소 Asp.Net 응용 프로그램.
  • 그런 다음 실행 결과가 클라이언트 시스템으로 전송되고 출력이 브라우저에 표시됩니다.

에이도넷 — 이 기술은 데이터베이스와 상호 작용하는 애플리케이션을 개발하는 데 사용됩니다. Oracle or Microsoft SQL 서버.

Microsoft 항상 .Net 프레임워크가 지원되는 모든 규정을 준수하는지 확인합니다. Windows 운영 체제.

.Net 프레임워크 디자인 원리

다음과 같은 설계 원칙들은 .NET 프레임워크가 .NET 기반 애플리케이션 개발에 매우 ​​적합한 이유가 됩니다.

1) 상호 운용성 — .NET 프레임워크는 하위 호환성을 많이 지원합니다. 예를 들어, .NET 프레임워크로 구축된 애플리케이션이 있다고 가정해 보겠습니다. .Net 프레임워크의 이전 버전예를 들어 버전이 2.0이라고 가정해 보겠습니다. 더 높은 버전인 3.5가 설치된 컴퓨터에서 동일한 애플리케이션을 실행해도 정상적으로 작동합니다. 이는 모든 릴리스마다, Microsoft 이전 프레임워크 버전이 최신 버전과 잘 어울리는지 확인합니다.

2) 이식성 — .NET 프레임워크로 구축된 애플리케이션은 모든 운영 체제에서 작동하도록 만들 수 있습니다. Windows 플랫폼. 그리고 최근에는, Microsoft 또한 제작을 구상하고 있습니다. Microsoft 제품은 iOS와 같은 다른 플랫폼에서도 작동합니다. Linux.

3) 보안 — .NET 프레임워크는 뛰어난 보안 메커니즘을 갖추고 있습니다. 내장된 보안 메커니즘은 애플리케이션의 유효성 검사 및 검증에 도움이 됩니다. 모든 애플리케이션은 자체적인 보안 메커니즘을 명시적으로 정의할 수 있습니다. 각 보안 메커니즘은 사용자에게 코드 또는 실행 중인 프로그램에 대한 접근 권한을 부여하는 데 사용됩니다.

4) 메모리 관리 — 공용 언어 런타임(CLR)이 모든 작업을 수행합니다. 메모리 관리.NET 프레임워크는 실행 중인 프로그램에서 사용되지 않는 리소스를 식별하고 적절하게 해제할 수 있는 모든 기능을 갖추고 있습니다. 이는 .NET 프레임워크의 일부로 실행되는 "가비지 컬렉터"라는 프로그램을 통해 이루어집니다. 가비지 컬렉터는 정기적으로 실행되면서 사용되지 않는 시스템 리소스를 확인하고 그에 따라 리소스를 해제합니다.

5) 단순화된 배포 — .NET 프레임워크에는 이를 기반으로 구축된 애플리케이션을 패키징하는 도구도 포함되어 있습니다. 이러한 패키지를 클라이언트 컴퓨터에 배포하면 클라이언트 컴퓨터에서 애플리케이션이 자동으로 설치됩니다.

자주 묻는 질문

.NET Framework는 다음 환경에서만 실행됩니다. Windows 현재 버전 4.8.1에서 유지보수 모드에 있습니다. 이전의 .NET Core였던 최신 .NET은 크로스 플랫폼 오픈 소스이며 활발하게 개발되고 있어 새로운 프로젝트에 권장되는 선택입니다.

공용 언어 런타임(CLR)은 관리 코드를 실행하고 메모리 및 예외를 처리하는 엔진입니다. 공용 언어 사양(CLS)은 모든 .NET 언어가 따르는 규칙 집합으로, 서로 다른 언어로 작성된 구성 요소가 안전하게 상호 운용될 수 있도록 합니다.

.NET 프레임워크는 공통 중간 언어로 컴파일되는 여러 언어를 지원합니다. 가장 널리 사용되는 언어는 다음과 같습니다. C# VB.NET과 함수형 프로그래밍을 위한 F#도 있습니다. 이 모든 언어는 동일한 런타임, 클래스 라이브러리 및 도구를 공유합니다.

아니요. .NET 프레임워크는 Windows-만 해당. Linux를 대상으로 하거나 macOS 최신 .NET(이전의 .NET Core)을 사용하는데, 이는 크로스 플랫폼을 지원합니다. 이전의 Mono 프로젝트도 다른 운영 체제에서 일부 .NET Framework 코드를 실행했습니다.

네. .NET Framework는 무료로 다운로드하여 사용할 수 있으며, 기본적으로 설치되어 제공됩니다. WindowsVisual Studio Community와 같은 개발 도구 Visual Studio Code 개인, 소규모 팀 및 오픈 소스 프로젝트에서도 무료로 이용할 수 있습니다.

예. 버전 4.8.1은 계속 지원됩니다. Windows 해당 구성 요소는 보안 및 안정성 수정 사항을 받습니다. 그러나 Microsoft 이 프로젝트는 최신 .NET에 새로운 기능을 집중시키기 때문에 대부분의 새로운 개발은 이제 프레임워크가 아닌 해당 플랫폼을 대상으로 합니다.

네. ML.NET을 사용하면 C#에서 머신러닝 모델을 직접 학습시키고 실행할 수 있으며, ONNX 런타임은 사전 학습된 딥러닝 모델을 실행합니다. 또한 클라우드 AI 서비스를 호출할 수 있으므로 .NET 애플리케이션은 기존 생태계를 벗어나지 않고도 지능형 기능을 추가할 수 있습니다.

예. GitHub Copilot은 Visual Studio 내에서 C# 및 VB.NET 코드 작성을 제안합니다. VS Code주석에서 클래스, 메서드 및 상용구 코드를 생성합니다. 생성된 코드는 예외 상황이나 프로젝트 규칙을 놓칠 수 있으므로, 생성된 결과를 초안으로 간주하고 검토하십시오.

이 게시물을 요약하면 다음과 같습니다.