[ASP.NET Core] ASP.NET Core Solution 구조
- 웹 프로그래밍/ASP.NET & ASP.NET Core
- 2022. 4. 15. 00:32
참조
목적
- DI(Dependency Injection) 에 대해서 알아보기에 앞서, ASP.NET Core 웹앱(MVC) 프로젝트를 생성할 때 기본으로 여러가지의 폴더들이 생성됩니다.
- 해당 폴더 및 구조에 대해서 알아보도록 하겠습니다.
프로젝트 생성
- Visual Studio 2022 실행 후, ASP.NET Core 웹/앱(MVC) 프로젝트를 생성합니다.
프로젝트 구조
- ASP.NET Core 웹/앱(MVC) 프로젝트를 생성하게 되면, 기본으로 다음과 같은 구조로 프로젝트가 생성됩니다.
ASP.NET Core Solution 구조
- Properties : launchSetting.json 파일을 포함하빈다. 해당 파일은 application 시작에 필요한 설정 값들이 들어 있습니다.
debug profile, environment variable
등이 있습니다. - 종속성(Dependencies) : 프로젝트의 모든 dependency 를 포함합니다.
- wwwroot : static files 저장,
Views\_ViewImports.cshtml:globally @using
코드가 있고, TagHelpers 에 add 되어 있습니다. - Controllers : 일반적인 C# 클래스로서 Microsoft.AspNetCore.Controller 클래스를 파생해야 합니다.
- Models : 일반적인 C# 클래스로서, 데이터를 저장하거나 제공합니다.
- Views : cshtml 이라는 특수파일로써, HTML 문서에서 C# 구문을 사용할 수 있는 문서 입니다. C# 구문은 Razor 라고 불리는 특수 문법을 사용합니다.
MVC 모델
- MVC 모델은 콘트롤러에 데이터를 담는 그릇을 제공하는데, 콘트롤러와만 소통하고, 뷰와는 상관없습니다.
- 만약 쇼핑몰을 운영한다면, 상품에 관한 모델을 정의할 수 있습니다.
- 상품 모델에 저장할 수 있는 데이터는 상품코드, 상품 이름, 잔위 수량, 가격, 공급처 등이 있습니다.
- 모델은 데이터 검증을 하는데 도움을 줄 수 있는데, 정해진 범위를 벗어난 가격을 입력하지 못하도록 할 수 있습니다.
MVC 뷰
- 뷰는 결국 사용자가 볼 화면을 구성합니다.
- 사용자가 볼 화면은 뷰를 기반으로 생성된 html 문서가 사용자의 브라우저에 의해 화면에 렌더링 된 것입니다.
- 뷰는 콘트롤러와 상호작용하고, 모델과는 상호작용하지 않습니다.
MVC 콘트롤러
- MVC의 핵심 요소입니다.
- 뷰와 모델 사이에서, 그들과 각각 상호작용 합니다.
- 모든 요청을 받아서, 요청에 따른 처리를 하며, 모델에 데이터를 담아, 뷰에게 넘깁니다.
- 데이터를 받은 뷰는 .html 파일로 변환되어, 사용자에게 보내지고, 사용자의 브라우저는 그것을 렌더링하여 화면에 표출합니다.
728x90
'웹 프로그래밍 > ASP.NET & ASP.NET Core' 카테고리의 다른 글
[ASP.NET Core] 서비스 생명주기 Singleton, Scoped, Transient (0) | 2022.04.15 |
---|---|
[ASP.NET Core] Dependency Injection 예제 (0) | 2022.04.15 |
[ASP.NET Core] 의존성 역전 원칙 예제(DIP) (0) | 2022.04.14 |
[ASP.NET Core] 의존성 주입(Dependency Injection) 이란? (0) | 2022.04.14 |
[EF Core] ASP.NET Core & EF Core CRUD 구현 (0) | 2022.04.13 |
이 글을 공유하기