在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → CleanArchitecture: Clean Architecture Solution Template: 一个带有ASP.NET Core的Clean Architecture起点

CleanArchitecture: Clean Architecture Solution Template: 一个带有ASP.NET Core的Clean Architecture起点

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:1.81M
  • 下载次数:0
  • 浏览次数:7
  • 发布时间:2024-04-22
  • 实例类别:一般编程问题
  • 发 布 人:chenxiaolan
  • 文件格式:.zip
  • 所需积分:2
 相关标签:

实例介绍

【实例简介】

Clean Architecture

一个带有ASP.NET Core的Clean Architecture起点。Clean Architecture只是一系列名称中的最新名称,用于描述相同的松耦合、依赖反转架构。您还会发现它被称为六边形、端口和适配器或洋葱架构。

Troubleshooting Chrome Errors

默认情况下,该站点使用HTTPS,并期望您拥有一个用于localhost的自签名开发者证书。如果在Chrome中遇到错误,请参阅此答案以获取缓解说明。


【实例截图】
【核心代码】
文件清单
└── CleanArchitecture-c74b0aa5b53ea56677e7a13db9193a5cecb6de69
    ├── CleanArchitecture.nuspec
    ├── Clean.Architecture.sln
    ├── CODE_OF_CONDUCT.md
    ├── CONTRIBUTING.md
    ├── Directory.Build.props
    ├── Directory.Packages.props
    ├── global.json
    ├── icon.png
    ├── LICENSE
    ├── nuget.config
    ├── README.md
    ├── sample
    │   ├── Directory.Build.props
    │   ├── Directory.Packages.props
    │   ├── NimblePros.SampleToDo.sln
    │   ├── src
    │   │   ├── NimblePros.SampleToDo.Core
    │   │   │   ├── ContributorAggregate
    │   │   │   │   ├── Contributor.cs
    │   │   │   │   ├── Events
    │   │   │   │   │   └── ContributorDeletedEvent.cs
    │   │   │   │   ├── Handlers
    │   │   │   │   │   └── ContributorDeletedHandler.cs
    │   │   │   │   └── Specifications
    │   │   │   │       └── ContributorByIdSpec.cs
    │   │   │   ├── CoreServiceExtensions.cs
    │   │   │   ├── Interfaces
    │   │   │   │   ├── IDeleteContributorService.cs
    │   │   │   │   ├── IEmailSender.cs
    │   │   │   │   └── IToDoItemSearchService.cs
    │   │   │   ├── NimblePros.SampleToDo.Core.csproj
    │   │   │   ├── ProjectAggregate
    │   │   │   │   ├── Events
    │   │   │   │   │   ├── ContributorAddedToItemEvent.cs
    │   │   │   │   │   ├── NewItemAddedEvent.cs
    │   │   │   │   │   └── ToDoItemCompletedEvent.cs
    │   │   │   │   ├── Handlers
    │   │   │   │   │   └── ItemCompletedEmailNotificationHandler.cs
    │   │   │   │   ├── PriorityStatus.cs
    │   │   │   │   ├── Project.cs
    │   │   │   │   ├── ProjectStatus.cs
    │   │   │   │   ├── Specifications
    │   │   │   │   │   ├── IncompleteItemsSearchSpec.cs
    │   │   │   │   │   ├── IncompleteItemsSpec.cs
    │   │   │   │   │   ├── ProjectByIdWithItemsSpec.cs
    │   │   │   │   │   └── ProjectsWithItemsByContributorId.cs
    │   │   │   │   └── ToDoItem.cs
    │   │   │   └── Services
    │   │   │       ├── DeleteContributorService.cs
    │   │   │       └── ToDoItemSearchService.cs
    │   │   ├── NimblePros.SampleToDo.Infrastructure
    │   │   │   ├── Data
    │   │   │   │   ├── AppDbContext.cs
    │   │   │   │   ├── Config
    │   │   │   │   │   ├── ContributorConfiguration.cs
    │   │   │   │   │   ├── DataSchemaConstants.cs
    │   │   │   │   │   ├── ProjectConfiguration.cs
    │   │   │   │   │   └── ToDoConfiguration.cs
    │   │   │   │   ├── EfRepository.cs
    │   │   │   │   └── Queries
    │   │   │   │       ├── FakeListContributorsQueryService.cs
    │   │   │   │       ├── FakeListIncompleteItemsQueryService.cs
    │   │   │   │       ├── FakeListProjectsShallowQueryService.cs
    │   │   │   │       ├── ListContributorsQueryService.cs
    │   │   │   │       ├── ListIncompleteItemsQueryService.cs
    │   │   │   │       └── ListProjectsShallowQueryService.cs
    │   │   │   ├── Email
    │   │   │   │   ├── FakeEmailSender.cs
    │   │   │   │   └── SmtpEmailSender.cs
    │   │   │   ├── InfrastructureServiceExtensions.cs
    │   │   │   └── NimblePros.SampleToDo.Infrastructure.csproj
    │   │   ├── NimblePros.SampleToDo.UseCases
    │   │   │   ├── Contributors
    │   │   │   │   ├── ContributorDTO.cs
    │   │   │   │   ├── Create
    │   │   │   │   │   ├── CreateContributorCommand.cs
    │   │   │   │   │   └── CreateContributorHandler.cs
    │   │   │   │   ├── Delete
    │   │   │   │   │   ├── DeleteContributorCommand.cs
    │   │   │   │   │   └── DeleteContributorHandler.cs
    │   │   │   │   ├── Get
    │   │   │   │   │   ├── GetContributorHandler.cs
    │   │   │   │   │   └── GetContributorQuery.cs
    │   │   │   │   ├── List
    │   │   │   │   │   ├── IListContributorsQueryService.cs
    │   │   │   │   │   ├── ListContributorsHandler.cs
    │   │   │   │   │   └── ListContributorsQuery.cs
    │   │   │   │   └── Update
    │   │   │   │       ├── UpdateContributorCommand.cs
    │   │   │   │       └── UpdateContributorHandler.cs
    │   │   │   ├── NimblePros.SampleToDo.UseCases.csproj
    │   │   │   ├── Projects
    │   │   │   │   ├── AddToDoItem
    │   │   │   │   │   ├── AddToDoItemCommand.cs
    │   │   │   │   │   └── AddToDoItemHandler.cs
    │   │   │   │   ├── Create
    │   │   │   │   │   ├── CreateProjectCommand.cs
    │   │   │   │   │   └── CreateProjectHandler.cs
    │   │   │   │   ├── Delete
    │   │   │   │   │   ├── DeleteProjectCommand.cs
    │   │   │   │   │   └── DeleteProjectHandler.cs
    │   │   │   │   ├── GetWithAllItems
    │   │   │   │   │   ├── GetProjectWithAllItemsHandler.cs
    │   │   │   │   │   └── GetProjectWithAllItemsQuery.cs
    │   │   │   │   ├── ListIncompleteItems
    │   │   │   │   │   ├── IListIncompleteItemsQueryService.cs
    │   │   │   │   │   ├── ListIncompleteItemsByProjectHandler.cs
    │   │   │   │   │   └── ListIncompleteItemsByProjectQuery.cs
    │   │   │   │   ├── ListShallow
    │   │   │   │   │   ├── IListProjectsShallowQueryService.cs
    │   │   │   │   │   ├── ListProjectsShallowHandler.cs
    │   │   │   │   │   └── ListProjectsShallowQuery.cs
    │   │   │   │   ├── MarkToDoItemComplete
    │   │   │   │   │   ├── MarkToDoItemCompleteCommand.cs
    │   │   │   │   │   └── MarkToDoItemCompleteHandler.cs
    │   │   │   │   ├── ProjectDTO.cs
    │   │   │   │   ├── ProjectWithAllItemsDTO.cs
    │   │   │   │   ├── ToDoItemDTO.cs
    │   │   │   │   └── Update
    │   │   │   │       ├── UpdateContributorHandler.cs
    │   │   │   │       └── UpdateProjectCommand.cs
    │   │   │   └── README.md
    │   │   └── NimblePros.SampleToDo.Web
    │   │       ├── api.http
    │   │       ├── appsettings.json
    │   │       ├── Contributors
    │   │       │   ├── ContributorRecord.cs
    │   │       │   ├── Create.CreateContributorRequest.cs
    │   │       │   ├── Create.CreateContributorResponse.cs
    │   │       │   ├── Create.CreateContributorValidator.cs
    │   │       │   ├── Create.cs
    │   │       │   ├── Delete.cs
    │   │       │   ├── Delete.DeleteContributorRequest.cs
    │   │       │   ├── Delete.DeleteContributorValidator.cs
    │   │       │   ├── GetById.cs
    │   │       │   ├── GetById.GetContributorByIdRequest.cs
    │   │       │   ├── GetById.GetContributorValidator.cs
    │   │       │   ├── List.ContributorListResponse.cs
    │   │       │   ├── List.cs
    │   │       │   ├── Update.cs
    │   │       │   ├── Update.UpdateContributorRequest.cs
    │   │       │   ├── Update.UpdateContributorResponse.cs
    │   │       │   └── Update.UpdateContributorValidator.cs
    │   │       ├── NimblePros.SampleToDo.Web.csproj
    │   │       ├── Program.cs
    │   │       ├── Projects
    │   │       │   ├── Create.CreateProjectRequest.cs
    │   │       │   ├── Create.CreateProjectResponse.cs
    │   │       │   ├── Create.CreateProjectValidator.cs
    │   │       │   ├── Create.cs
    │   │       │   ├── CreateToDoItem.CreateToDoItemRequest.cs
    │   │       │   ├── CreateToDoItem.CreateToDoItemValidator.cs
    │   │       │   ├── CreateToDoItem.cs
    │   │       │   ├── Delete.cs
    │   │       │   ├── Delete.DeleteProjectRequest.cs
    │   │       │   ├── GetById.cs
    │   │       │   ├── GetById.GetProjectByIdRequest.cs
    │   │       │   ├── GetById.GetProjectByIdResponse.cs
    │   │       │   ├── List.cs
    │   │       │   ├── ListIncompleteItems.cs
    │   │       │   ├── ListIncompleteItems.ListIncompleteItemsRequest.cs
    │   │       │   ├── ListIncompleteItems.ListIncompleteItemsResponse.cs
    │   │       │   ├── List.ProjectListResponse.cs
    │   │       │   ├── MarkItemComplete.cs
    │   │       │   ├── MarkItemComplete.MarkItemCompleteRequest.cs
    │   │       │   ├── ProjectRecord.cs
    │   │       │   ├── ToDoItemRecord.cs
    │   │       │   ├── Update.cs
    │   │       │   ├── Update.UpdateProjectRequest.cs
    │   │       │   └── Update.UpdateProjectResponse.cs
    │   │       ├── Properties
    │   │       │   └── launchSettings.json
    │   │       ├── SeedData.cs
    │   │       └── wwwroot
    │   │           ├── css
    │   │           │   └── site.css
    │   │           ├── favicon.ico
    │   │           ├── js
    │   │           │   └── site.js
    │   │           └── lib
    │   │               ├── bootstrap
    │   │               │   ├── dist
    │   │               │   │   ├── css
    │   │               │   │   │   ├── bootstrap.css
    │   │               │   │   │   ├── bootstrap.css.map
    │   │               │   │   │   ├── bootstrap-grid.css
    │   │               │   │   │   ├── bootstrap-grid.css.map
    │   │               │   │   │   ├── bootstrap-grid.min.css
    │   │               │   │   │   ├── bootstrap-grid.min.css.map
    │   │               │   │   │   ├── bootstrap-grid.rtl.css
    │   │               │   │   │   ├── bootstrap-grid.rtl.css.map
    │   │               │   │   │   ├── bootstrap-grid.rtl.min.css
    │   │               │   │   │   ├── bootstrap-grid.rtl.min.css.map
    │   │               │   │   │   ├── bootstrap.min.css
    │   │               │   │   │   ├── bootstrap.min.css.map
    │   │               │   │   │   ├── bootstrap-reboot.css
    │   │               │   │   │   ├── bootstrap-reboot.css.map
    │   │               │   │   │   ├── bootstrap-reboot.min.css
    │   │               │   │   │   ├── bootstrap-reboot.min.css.map
    │   │               │   │   │   ├── bootstrap-reboot.rtl.css
    │   │               │   │   │   ├── bootstrap-reboot.rtl.css.map
    │   │               │   │   │   ├── bootstrap-reboot.rtl.min.css
    │   │               │   │   │   ├── bootstrap-reboot.rtl.min.css.map
    │   │               │   │   │   ├── bootstrap.rtl.css
    │   │               │   │   │   ├── bootstrap.rtl.css.map
    │   │               │   │   │   ├── bootstrap.rtl.min.css
    │   │               │   │   │   ├── bootstrap.rtl.min.css.map
    │   │               │   │   │   ├── bootstrap-utilities.css
    │   │               │   │   │   ├── bootstrap-utilities.css.map
    │   │               │   │   │   ├── bootstrap-utilities.min.css
    │   │               │   │   │   ├── bootstrap-utilities.min.css.map
    │   │               │   │   │   ├── bootstrap-utilities.rtl.css
    │   │               │   │   │   ├── bootstrap-utilities.rtl.css.map
    │   │               │   │   │   ├── bootstrap-utilities.rtl.min.css
    │   │               │   │   │   └── bootstrap-utilities.rtl.min.css.map
    │   │               │   │   └── js
    │   │               │   │       ├── bootstrap.bundle.js
    │   │               │   │       ├── bootstrap.bundle.js.map
    │   │               │   │       ├── bootstrap.bundle.min.js
    │   │               │   │       ├── bootstrap.bundle.min.js.map
    │   │               │   │       ├── bootstrap.esm.js
    │   │               │   │       ├── bootstrap.esm.js.map
    │   │               │   │       ├── bootstrap.esm.min.js
    │   │               │   │       ├── bootstrap.esm.min.js.map
    │   │               │   │       ├── bootstrap.js
    │   │               │   │       ├── bootstrap.js.map
    │   │               │   │       ├── bootstrap.min.js
    │   │               │   │       └── bootstrap.min.js.map
    │   │               │   └── LICENSE
    │   │               ├── jquery
    │   │               │   ├── dist
    │   │               │   │   ├── jquery.js
    │   │               │   │   ├── jquery.min.js
    │   │               │   │   └── jquery.min.map
    │   │               │   └── LICENSE.txt
    │   │               ├── jquery-validation
    │   │               │   ├── dist
    │   │               │   │   ├── additional-methods.js
    │   │               │   │   ├── additional-methods.min.js
    │   │               │   │   ├── jquery.validate.js
    │   │               │   │   └── jquery.validate.min.js
    │   │               │   └── LICENSE.md
    │   │               └── jquery-validation-unobtrusive
    │   │                   ├── jquery.validate.unobtrusive.js
    │   │                   ├── jquery.validate.unobtrusive.min.js
    │   │                   └── LICENSE.txt
    │   └── tests
    │       ├── NimblePros.SampleToDo.FunctionalTests
    │       │   ├── Contributors
    │       │   │   ├── ContributorCreate.cs
    │       │   │   ├── ContributorDelete.cs
    │       │   │   ├── ContributorGetById.cs
    │       │   │   ├── ContributorList.cs
    │       │   │   └── ContributorUpdate.cs
    │       │   ├── CustomWebApplicationFactory.cs
    │       │   ├── NimblePros.SampleToDo.FunctionalTests.csproj
    │       │   ├── Projects
    │       │   │   ├── ProjectAddToDoItem.cs
    │       │   │   ├── ProjectCreate.cs
    │       │   │   ├── ProjectGetById.cs
    │       │   │   ├── ProjectItemMarkComplete.cs
    │       │   │   └── ProjectList.cs
    │       │   └── xunit.runner.json
    │       ├── NimblePros.SampleToDo.IntegrationTests
    │       │   ├── Data
    │       │   │   ├── BaseEfRepoTestFixture.cs
    │       │   │   ├── EfRepositoryAdd.cs
    │       │   │   ├── EfRepositoryDelete.cs
    │       │   │   └── EfRepositoryUpdate.cs
    │       │   └── NimblePros.SampleToDo.IntegrationTests.csproj
    │       └── NimblePros.SampleToDo.UnitTests
    │           ├── Core
    │           │   ├── ContributorAggregate
    │           │   │   └── ContributorConstructor.cs
    │           │   ├── Handlers
    │           │   │   └── ItemCompletedEmailNotificationHandlerHandle.cs
    │           │   ├── ProjectAggregate
    │           │   │   ├── Project_AddItem.cs
    │           │   │   ├── ProjectConstructor.cs
    │           │   │   └── ToDoItemMarkComplete.cs
    │           │   ├── Services
    │           │   │   ├── DeleteContributorSevice_DeleteContributor.cs
    │           │   │   ├── ToDoItemSearchService_GetAllIncompleteItems.cs
    │           │   │   ├── ToDoItemSearchService_GetNextIncompleteItem.cs
    │           │   │   └── ToDoItemSearchServiceTests.cs
    │           │   └── Specifications
    │           │       └── IncompleteItemSpecificationsConstructor.cs
    │           ├── NimblePros.SampleToDo.UnitTests.csproj
    │           ├── NoOpMediator.cs
    │           ├── ToDoItemBuilder.cs
    │           ├── UseCases
    │           │   └── Contributors
    │           │       ├── CreateContributorHandlerHandle.cs
    │           │       ├── GetContributorHandlerHandle.cs
    │           │       └── UpdateContributorHandlerHandle.cs
    │           └── xunit.runner.json
    ├── src
    │   ├── Clean.Architecture.Core
    │   │   ├── Clean.Architecture.Core.csproj
    │   │   ├── ContributorAggregate
    │   │   │   ├── Contributor.cs
    │   │   │   ├── ContributorStatus.cs
    │   │   │   ├── Events
    │   │   │   │   └── ContributorDeletedEvent.cs
    │   │   │   ├── Handlers
    │   │   │   │   └── ContributorDeletedHandler.cs
    │   │   │   └── Specifications
    │   │   │       └── ContributorByIdSpec.cs
    │   │   ├── Interfaces
    │   │   │   ├── IDeleteContributorService.cs
    │   │   │   └── IEmailSender.cs
    │   │   ├── README.md
    │   │   └── Services
    │   │       └── DeleteContributorService.cs
    │   ├── Clean.Architecture.Infrastructure
    │   │   ├── Clean.Architecture.Infrastructure.csproj
    │   │   ├── Data
    │   │   │   ├── AppDbContext.cs
    │   │   │   ├── AppDbContextExtensions.cs
    │   │   │   ├── Config
    │   │   │   │   ├── ContributorConfiguration.cs
    │   │   │   │   └── DataSchemaConstants.cs
    │   │   │   ├── EfRepository.cs
    │   │   │   ├── Migrations
    │   │   │   │   ├── 20231218143922_PhoneNumber.cs
    │   │   │   │   ├── 20231218143922_PhoneNumber.Designer.cs
    │   │   │   │   └── AppDbContextModelSnapshot.cs
    │   │   │   ├── Queries
    │   │   │   │   ├── FakeListContributorsQueryService.cs
    │   │   │   │   └── ListContributorsQueryService.cs
    │   │   │   └── SeedData.cs
    │   │   ├── Email
    │   │   │   ├── FakeEmailSender.cs
    │   │   │   ├── MailserverConfiguration.cs
    │   │   │   ├── MimeKitEmailSender.cs
    │   │   │   └── SmtpEmailSender.cs
    │   │   ├── InfrastructureServiceExtensions.cs
    │   │   └── README.md
    │   ├── Clean.Architecture.UseCases
    │   │   ├── Clean.Architecture.UseCases.csproj
    │   │   ├── Contributors
    │   │   │   ├── ContributorDTO.cs
    │   │   │   ├── Create
    │   │   │   │   ├── CreateContributorCommand.cs
    │   │   │   │   └── CreateContributorHandler.cs
    │   │   │   ├── Delete
    │   │   │   │   ├── DeleteContributorCommand.cs
    │   │   │   │   └── DeleteContributorHandler.cs
    │   │   │   ├── Get
    │   │   │   │   ├── GetContributorHandler.cs
    │   │   │   │   └── GetContributorQuery.cs
    │   │   │   ├── List
    │   │   │   │   ├── IListContributorsQueryService.cs
    │   │   │   │   ├── ListContributorsHandler.cs
    │   │   │   │   └── ListContributorsQuery.cs
    │   │   │   └── Update
    │   │   │       ├── UpdateContributorCommand.cs
    │   │   │       └── UpdateContributorHandler.cs
    │   │   └── README.md
    │   └── Clean.Architecture.Web
    │       ├── api.http
    │       ├── appsettings.json
    │       ├── Clean.Architecture.Web.csproj
    │       ├── Contributors
    │       │   ├── ContributorRecord.cs
    │       │   ├── Create.CreateContributorRequest.cs
    │       │   ├── Create.CreateContributorResponse.cs
    │       │   ├── Create.CreateContributorValidator.cs
    │       │   ├── Create.cs
    │       │   ├── Delete.cs
    │       │   ├── Delete.DeleteContributorRequest.cs
    │       │   ├── Delete.DeleteContributorValidator.cs
    │       │   ├── GetById.cs
    │       │   ├── GetById.GetContributorByIdRequest.cs
    │       │   ├── GetById.GetContributorValidator.cs
    │       │   ├── List.ContributorListResponse.cs
    │       │   ├── List.cs
    │       │   ├── Update.cs
    │       │   ├── Update.UpdateContributorRequest.cs
    │       │   ├── Update.UpdateContributorResponse.cs
    │       │   └── Update.UpdateContributorValidator.cs
    │       ├── Program.cs
    │       ├── Properties
    │       │   └── launchSettings.json
    │       └── wwwroot
    └── tests
        ├── Clean.Architecture.FunctionalTests
        │   ├── ApiEndpoints
        │   │   ├── ContributorGetById.cs
        │   │   └── ContributorList.cs
        │   ├── Clean.Architecture.FunctionalTests.csproj
        │   ├── CustomWebApplicationFactory.cs
        │   └── xunit.runner.json
        ├── Clean.Architecture.IntegrationTests
        │   ├── Clean.Architecture.IntegrationTests.csproj
        │   └── Data
        │       ├── BaseEfRepoTestFixture.cs
        │       ├── EfRepositoryAdd.cs
        │       ├── EfRepositoryDelete.cs
        │       └── EfRepositoryUpdate.cs
        └── Clean.Architecture.UnitTests
            ├── Clean.Architecture.UnitTests.csproj
            ├── Core
            │   ├── ContributorAggregate
            │   │   └── ContributorConstructor.cs
            │   └── Services
            │       ├── DeleteContributorSevice_DeleteContributor.cs
            │       ├── ToDoItemSearchService_GetAllIncompleteItems.cs
            │       └── ToDoItemSearchService_GetNextIncompleteItem.cs
            ├── NoOpMediator.cs
            ├── UseCases
            │   └── Contributors
            │       └── CreateContributorHandlerHandle.cs
            └── xunit.runner.json

103 directories, 312 files

标签:

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警