Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CLI Feature: Design Pattern Templates for .NET Projects #40769

Closed
srosama opened this issue May 8, 2024 · 1 comment
Closed

CLI Feature: Design Pattern Templates for .NET Projects #40769

srosama opened this issue May 8, 2024 · 1 comment
Labels
Area-CLI untriaged Request triage from a team member

Comments

@srosama
Copy link

srosama commented May 8, 2024

This feature addresses a common pain point in .NET development by providing pre-configured templates for various design patterns. Simply input the desired design pattern, and the CLI will generate a project structured according to best practices. Whether you're starting a new project or refactoring an existing one, this tool ensures uniformity and adherence to established design principles.

Key Features:

Instantly create projects using Clean Architecture, Domain-Driven Design (DDD), Singleton, and more.
Eliminate the need for manual setup and configuration, saving time and reducing errors.
Foster consistency across projects by enforcing standardized design patterns.
Enhance code quality and maintainability by starting with a solid architectural foundation.
@dotnet-issue-labeler dotnet-issue-labeler bot added Area-CLI untriaged Request triage from a team member labels May 8, 2024
@Forgind
Copy link
Member

Forgind commented May 9, 2024

Hi @srosama,

I'm a little confused by this feature request. We already provide a set of pre-configured templates for various design patterns. They may or may not follow the particular design patterns you're thinking of—though we try to make them well-styled, every programmer has their own set of preferred best practices.

You can see a list of the templates we currently support using dotnet new list:

> dotnet new list
These templates matched your input:

Template Name                                 Short Name                  Language    Tags
--------------------------------------------  --------------------------  ----------  ----------------------------------------------------------------------
.NET MAUI App                                 maui                        [C#]        MAUI/Android/iOS/macOS/Mac Catalyst/Windows/Tizen
.NET MAUI Blazor Hybrid App                   maui-blazor                 [C#]        MAUI/Android/iOS/macOS/Mac Catalyst/Windows/Tizen/Blazor/Blazor Hybrid
.NET MAUI Class Library                       mauilib                     [C#]        MAUI/Android/iOS/macOS/Mac Catalyst/Windows/Tizen
.NET MAUI ContentPage (C#)                    maui-page-csharp            [C#]        MAUI/Android/iOS/macOS/Mac Catalyst/WinUI/Tizen/Xaml/Code
.NET MAUI ContentPage (XAML)                  maui-page-xaml              [C#]        MAUI/Android/iOS/macOS/Mac Catalyst/WinUI/Tizen/Xaml/Code
.NET MAUI ContentView (C#)                    maui-view-csharp            [C#]        MAUI/Android/iOS/macOS/Mac Catalyst/WinUI/Tizen/Xaml/Code
.NET MAUI ContentView (XAML)                  maui-view-xaml              [C#]        MAUI/Android/iOS/macOS/Mac Catalyst/WinUI/Tizen/Xaml/Code
.NET MAUI ResourceDictionary (XAML)           maui-dict-xaml              [C#]        MAUI/Android/iOS/macOS/Mac Catalyst/WinUI/Xaml/Code
Android Activity template                     android-activity            [C#]        Android/Mobile
Android Application                           android                     [C#]        Android/Mobile
Android Class Library                         androidlib                  [C#]        Android/Mobile
Android Java Library Binding                  android-bindinglib          [C#]        Android/Mobile
Android Layout template                       android-layout              [C#]        Android/Mobile
Android Wear Application                      androidwear                 [C#]        Android/Mobile
API Controller                                apicontroller               [C#]        Web/ASP.NET
ASP.NET Core Empty                            web                         [C#],F#     Web/Empty
ASP.NET Core gRPC Service                     grpc                        [C#]        Web/gRPC/API/Service
ASP.NET Core Web API                          webapi                      [C#],F#     Web/WebAPI/Web API/API/Service
ASP.NET Core Web API (native AOT)             webapiaot                   [C#]        Web/Web API/API/Service
ASP.NET Core Web App (Model-View-Controller)  mvc                         [C#],F#     Web/MVC
ASP.NET Core Web App (Razor Pages)            webapp,razor                [C#]        Web/MVC/Razor Pages
ASP.NET Core with Angular                     angular                     [C#]        Web/MVC/SPA
ASP.NET Core with React.js                    react                       [C#]        Web/MVC/SPA
ASP.NET Core with React.js and Redux          reactredux                  [C#]        Web/MVC/SPA
Blazor Server App                             blazorserver                [C#]        Web/Blazor
Blazor Server App Empty                       blazorserver-empty          [C#]        Web/Blazor/Empty
Blazor Web App                                blazor                      [C#]        Web/Blazor/WebAssembly
Blazor WebAssembly App Empty                  blazorwasm-empty            [C#]        Web/Blazor/WebAssembly/PWA/Empty
Blazor WebAssembly Standalone App             blazorwasm                  [C#]        Web/Blazor/WebAssembly/PWA
Class Library                                 classlib                    [C#],F#,VB  Common/Library
Console App                                   console                     [C#],F#,VB  Common/Console
dotnet gitignore file                         gitignore,.gitignore                    Config
Dotnet local tool manifest file               tool-manifest                           Config
EditorConfig file                             editorconfig,.editorconfig              Config
global.json file                              globaljson,global.json                  Config
MSBuild Directory.Build.props file            buildprops                              MSBuild/props
MSBuild Directory.Build.targets file          buildtargets                            MSBuild/props
MSTest Playwright Test Project                mstest-playwright           [C#]        Test/MSTest/Playwright
MSTest Test Project                           mstest                      [C#],F#,VB  Test/MSTest
MVC Controller                                mvccontroller               [C#]        Web/ASP.NET
MVC ViewImports                               viewimports                 [C#]        Web/ASP.NET
MVC ViewStart                                 viewstart                   [C#]        Web/ASP.NET
NuGet Config                                  nugetconfig,nuget.config                Config
NUnit 3 Test Item                             nunit-test                  [C#],F#,VB  Test/NUnit
NUnit 3 Test Project                          nunit                       [C#],F#,VB  Test/NUnit
NUnit Playwright Test Project                 nunit-playwright            [C#]        Test/NUnit/Playwright
Protocol Buffer File                          proto                                   Web/gRPC
Razor Class Library                           razorclasslib               [C#]        Web/Razor/Library/Razor Class Library
Razor Component                               razorcomponent              [C#]        Web/ASP.NET
Razor Page                                    page                        [C#]        Web/ASP.NET
Razor View                                    view                        [C#]        Web/ASP.NET
Solution File                                 sln,solution                            Solution
Web Config                                    webconfig                               Config
Windows Forms App                             winforms                    [C#],VB     Common/WinForms
Windows Forms Class Library                   winformslib                 [C#],VB     Common/WinForms
Windows Forms Control Library                 winformscontrollib          [C#],VB     Common/WinForms
Worker Service                                worker                      [C#],F#     Common/Worker/Web
WPF Application                               wpf                         [C#],VB     Common/WPF
WPF Class Library                             wpflib                      [C#],VB     Common/WPF
WPF Custom Control Library                    wpfcustomcontrollib         [C#],VB     Common/WPF
WPF User Control Library                      wpfusercontrollib           [C#],VB     Common/WPF
xUnit Test Project                            xunit                       [C#],F#,VB  Test/xUnit

I hope that helps!

@Forgind Forgind closed this as completed May 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-CLI untriaged Request triage from a team member
Projects
None yet
Development

No branches or pull requests

2 participants