클리엘
CLIEL LAB
클리엘
전체 방문자
오늘
어제
  • 분류 전체보기 (514) N
    • Mobile (47)
      • Kotlin (47)
    • Web (84)
      • NestJS (9)
      • HTML5 & CSS3 (38)
      • Javascript (20)
      • TypeScript (6)
      • JQuery (11)
    • .NET (301) N
      • C# (84) N
      • ASP.NET (67)
      • Windows API for .NET (128)
    • Server (53)
      • SQL Server (10)
      • MariaDB (18)
      • Windows Server (6)
      • node.js (19)
    • System (12)
      • 작업LOG (12)
    • Review (11)
    • ETC (6)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 블로그 정리

인기 글

태그

  • ASP.NET
  • android
  • asp.net core web api
  • HTML5
  • jQuery
  • MariaDB
  • exception
  • Windows API
  • LINQ
  • NestJS
  • CSS3
  • node.js
  • asp.net core
  • c#
  • Kotlin
  • Entity Framework
  • android studio
  • 변수
  • .NET
  • JavaScript

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
클리엘

CLIEL LAB

[.NET] C#과 NET의 프로젝트 유형 - 3. Project 구조설계및 프로젝트 템플릿
.NET

[.NET] C#과 NET의 프로젝트 유형 - 3. Project 구조설계및 프로젝트 템플릿

2022. 7. 20. 15:30
728x90

4. project의 구조화

 

크고 복잡한 설루션에서는 내부의 코드를 파악하는데 어려움이 있을 수 있습니다. 이것은 프로젝트를 구조화해야 하는 주요 이유가 될 수 있는데 이로 인해 필요한 컴포넌트를 쉽게 찾을 수 있도록 하는 것입니다. 큰 하나의 설루션은 여러 프로젝트로 나뉘어 구성될 수 있으며 이때 프로젝트의 이름은 나름대로의 체계성을 가지고 있는 것이 좋습니다.

 

프로젝트의 이름을 붙이기 위한 다양한 방법이 존재하는데 예를 들어 모든 프로젝트의 접두사로 해당 회사의 이름을 붙이는 것도 하나의 방법이 될 수 있습니다. 예를 들어 회사명이 Northwind라면 아래와 같이 각 프로젝트의 유형별로 나뉘어 구성할 수 있을 것입니다.

Northwind.Common 일반적인 공통기능의 Class Library 모음입니다. 여기에는 interfaces나 enum, class, record, struct등 다른 프로젝트에서 공통으로 사용되는 코드들을 모아 둡니다.
Northwind.Common. EntityModels 공통의 EF Core entity model을 모아둔 프로젝트입니다. Entity model은 종종 클라이언트와 서버에서 동일하게 사용되는데 이것은 특정 데이터베이스의 공급자에 대한 의존성을 분리하는데 가장 적합한 방식입니다.
Northwind.Common.DataContext 특정 데이터베이스 공급자에 의존하는 EF Core database context 라이브러리 프로젝트입니다. 
Northwind.Web 정적 HTML파일과 동적 Razor Page가 사용되는 비교적 간단한 방식의 Web 프로젝트입니다.
Northwind.Razor.Component 여러 프로젝트에 사용되는 Razor Page의 class library프로젝트입니다.
Northwind.Mvc MVC 패턴과 더 쉽게 단위 테스트가 가능한 비교적 복잡한 방식의 ASP.NET Core Web프로젝트 입니다.
Northwind.WebApi HTTP API서비스를 위한 ASP.NET Core프로젝트입니다.
Northwind.OData 클라이언트가 Query를 제어할 수 있도록 OData가 구현된 HTTP API 서비스의 ASP.NET Core프로젝트입니다.
Northwind.GraphQL 클라이언트가 Query를 제어할 수 있도록 GraphQL이 구현된 HTTP API 서비스의 ASP.NET Core프로젝트입니다.
Northwind.gRPC gRPC 서비스를 위한 ASP.NET Core 프로젝트입니다.
Northwind.SignalR 실시간 통신을 위한 ASP.NET Core 프로젝트입니다.
Northwind.AzureFuncs Azure Function에서의 serverless nanoservice를 호스팅하기 위한 ASP.NET Core프로젝트입니다.
Northwind.BlazorServer ASP.NET Core Blazor Server 프로젝트입니다.
Northwind.BlazorWasm.Client ASP.NET Core Blazor WebAssembly client-side 프로젝트입니다.
Northwind.BlazorWasm.Server ASP.NET Core Blazor WebAssembly server-side 프로젝트입니다.
Northwind.Maui 데스크탑이나 모바일앱을 위한 Cross-platform .NET MAUI 프로젝트입니다.
Northwind.MauiBlazor OS와의 네이티브통합을 통해 Blazor component를 호스팅하기 위한 .NET MAUI 프로젝트입니다.

5. 기타 프로젝트 템플릿

 

.NET SDK가 설치될 때는 다수의 프로젝트 템플릿을 같이 포함하여 설치됩니다. 명령줄에서 아래 명령을 통해 사용 가능한 프로젝트 템플릿 유형을 확인해 볼 수 있습니다.

dotnet new --list

(1) 프로젝트 템플릿 추가하기

 

위 항목을 보면 SPA를 위한 프로젝트 중 Angular와 React.js 등이 있음을 알 수 있습니다. 이 상황에서 Vue와 같은 SPA프로젝트를 추가하고자 할 때 어떻게 프로젝트 유형을 추가할 수 있을지를 알아보고자 합니다.

 

기본적으로 추가 가능한 많은 수의 프로젝트 템플릿이 존재하며 아래 주소에서 그 항목들을 살펴볼 수 있습니다.

dotnet templates (dotnetnew.azurewebsites.net)

 

dotnet templates

 

dotnetnew.azurewebsites.net

위의 홈페이지에서 'vue'를 입력하여 검색을 하게 되면 관련된 템플릿 목록을 확인할 수 있습니다.

여기서 원하는 항목을 선택하면 기본적인 설치 및 사용방법에 대한 내용을 확인할 수 있는데 예제에서는 ASP.NET Core with Vue.js를 선택하였습니다.

이제 위 설명대로 명령을 입력하면 해당 프로젝트 템플릿이 설치될 것입니다.

728x90
저작자표시 비영리 변경금지 (새창열림)

'.NET' 카테고리의 다른 글

[C# 12와 .NET 8] 1. .NET 개요  (0) 2024.01.08
[.NET] C#과 NET의 프로젝트 유형 - 4. Entity Data Model  (0) 2022.07.20
[.NET] C#과 NET의 프로젝트 유형 - 2. ASP.NET Core와 Windows 전용 Desktop App  (0) 2022.07.20
[.NET] C#과 NET의 프로젝트 유형 - 1. App Model  (0) 2022.07.20
[.NET] 닷넷 Type 사용하기 - 8. image 다루기  (0) 2022.06.26
    '.NET' 카테고리의 다른 글
    • [C# 12와 .NET 8] 1. .NET 개요
    • [.NET] C#과 NET의 프로젝트 유형 - 4. Entity Data Model
    • [.NET] C#과 NET의 프로젝트 유형 - 2. ASP.NET Core와 Windows 전용 Desktop App
    • [.NET] C#과 NET의 프로젝트 유형 - 1. App Model
    클리엘
    클리엘
    누구냐 넌?

    티스토리툴바