(back) ASP.NET Core Clean Architecture (back)
- Common web application architectures
- innovativeinstitution / CleanArchDemo
- Greg Trevellick / Clean Architecture
1. Introduction
![](/QuickHelp/Core1/Core2-1.png)
2. Clean Architecture Structure
- 1. GitHub For Visual Studio
- 2. Commit Initial Solution
- 3. Initial Folder Structure
![](/QuickHelp/Core1/Core2-2.png)
![](/QuickHelp/Core1/Core2-3.png)
![](/QuickHelp/Core1/Core2-4.png)
![](/QuickHelp/Core1/Core2-5.png)
![](/QuickHelp/Core1/Core2-6.png)
![](/QuickHelp/Core1/Core2-7.png)
![](/QuickHelp/Core1/Core2-8.png)
![](/QuickHelp/Core1/Core2-9.png)
![](/QuickHelp/Core1/Core2-10.png)
![](/QuickHelp/Core1/Core2-11.png)
![](/QuickHelp/Core1/Core2-12.png)
3. Presentation Layer
- 1. Presentation Layer Project
- 2. Identity Migration
- 3. Launch MVC
- 4. Commit MVC
- 5. Rename Folders
![](/QuickHelp/Core1/Core2-13.png)
![](/QuickHelp/Core1/Core2-14.png)
![](/QuickHelp/Core1/Core2-15.png)
![](/QuickHelp/Core1/Core2-16.png)
![](/QuickHelp/Core1/Core2-17.png)
![](/QuickHelp/Core1/Core2-18.png)
![](/QuickHelp/Core1/Core2-19.png)
![](/QuickHelp/Core1/Core2-20.png)
![](/QuickHelp/Core1/Core2-21.png)
![](/QuickHelp/Core1/Core2-22.png)
![](/QuickHelp/Core1/Core2-23.png)
![](/QuickHelp/Core1/Core2-24.png)
![](/QuickHelp/Core1/Core2-25.png)
![](/QuickHelp/Core1/Core2-26.png)
![](/QuickHelp/Core1/Core2-27.png)
![](/QuickHelp/Core1/Core2-28.png)
![](/QuickHelp/Core1/Core2-29.png)
![](/QuickHelp/Core1/Core2-30.png)
![](/QuickHelp/Core1/Core2-31.png)
![](/QuickHelp/Core1/Core2-32.png)
![](/QuickHelp/Core1/Core2-33.png)
![](/QuickHelp/Core1/Core2-34.png)
![](/QuickHelp/Core1/Core2-35.png)
![](/QuickHelp/Core1/Core2-36.png)
![](/QuickHelp/Core1/Core2-37.png)
![](/QuickHelp/Core1/Core2-38.png)
![](/QuickHelp/Core1/Core2-39.png)
![](/QuickHelp/Core1/Core2-40.png)
4. .NET Core Versioning
![](/QuickHelp/Core1/Core2-41.png)
![](/QuickHelp/Core1/Core2-42.png)
![](/QuickHelp/Core1/Core2-43.png)
5. Domain Layer
- 1. Domain Layer Project
- 2. Domain Models
![](/QuickHelp/Core1/Core2-44.png)
![](/QuickHelp/Core1/Core2-45.png)
![](/QuickHelp/Core1/Core2-46.png)
![](/QuickHelp/Core1/Core2-47.png)
![](/QuickHelp/Core1/Core2-48.png)
6. Infrastructure Data Layer
- 1. Infrastructure Data Project
- 2. Database Context
- 3. Configure MVC for Data Context
- 4. Commit Infrastructure Data Layer
![](/QuickHelp/Core1/Core2-49.png)
![](/QuickHelp/Core1/Core2-50.png)
![](/QuickHelp/Core1/Core2-51.png)
![](/QuickHelp/Core1/Core2-52.png)
![](/QuickHelp/Core1/Core2-53.png)
![](/QuickHelp/Core1/Core2-54.png)
![](/QuickHelp/Core1/Core2-55.png)
![](/QuickHelp/Core1/Core2-56.png)
![](/QuickHelp/Core1/Core2-57.png)
![](/QuickHelp/Core1/Core2-58.png)
![](/QuickHelp/Core1/Core2-59.png)
![](/QuickHelp/Core1/Core2-60.png)
![](/QuickHelp/Core1/Core2-61.png)
![](/QuickHelp/Core1/Core2-62.png)
![](/QuickHelp/Core1/Core2-63.png)
![](/QuickHelp/Core1/Core2-64.png)
![](/QuickHelp/Core1/Core2-65.png)
![](/QuickHelp/Core1/Core2-66.png)
![](/QuickHelp/Core1/Core2-67.png)
![](/QuickHelp/Core1/Core2-68.png)
![](/QuickHelp/Core1/Core2-69.png)
![](/QuickHelp/Core1/Core2-70.png)
![](/QuickHelp/Core1/Core2-71.png)
![](/QuickHelp/Core1/Core2-72.png)
![](/QuickHelp/Core1/Core2-74.png)
7. Application Layer
- 1. Application Layer Project
- 2. View Models
- 3. Service Interfaces
- 4. Repository Interfaces
- 5. Commit Application Layer
![](/QuickHelp/Core1/Core2-75.png)
![](/QuickHelp/Core1/Core2-76.png)
![](/QuickHelp/Core1/Core2-77.png)
![](/QuickHelp/Core1/Core2-78.png)
![](/QuickHelp/Core1/Core2-79.png)
![](/QuickHelp/Core1/Core2-80.png)
![](/QuickHelp/Core1/Core2-81.png)
![](/QuickHelp/Core1/Core2-82.png)
![](/QuickHelp/Core1/Core2-83.png)
![](/QuickHelp/Core1/Core2-84.png)
![](/QuickHelp/Core1/Core2-85.png)
![](/QuickHelp/Core1/Core2-86.png)
![](/QuickHelp/Core1/Core2-87.png)
![](/QuickHelp/Core1/Core2-88.png)
![](/QuickHelp/Core1/Core2-89.png)
![](/QuickHelp/Core1/Core2-90.png)
![](/QuickHelp/Core1/Core2-91.png)
![](/QuickHelp/Core1/Core2-92.png)
8. Implementation
- 1. Service Implementation
- 2. Repository Implementation
- 3. Method Implementation
![](/QuickHelp/Core1/Core2-93.png)
![](/QuickHelp/Core1/Core2-94.png)
![](/QuickHelp/Core1/Core2-95.png)
![](/QuickHelp/Core1/Core2-96.png)
![](/QuickHelp/Core1/Core2-97.png)
![](/QuickHelp/Core1/Core2-98.png)
![](/QuickHelp/Core1/Core2-99.png)
![](/QuickHelp/Core1/Core2-100.png)
![](/QuickHelp/Core1/Core2-101.png)
![](/QuickHelp/Core1/Core2-102.png)
![](/QuickHelp/Core1/Core2-103.png)
![](/QuickHelp/Core1/Core2-104.png)
![](/QuickHelp/Core1/Core2-105.png)
![](/QuickHelp/Core1/Core2-106.png)
![](/QuickHelp/Core1/Core2-107.png)
![](/QuickHelp/Core1/Core2-108.png)
![](/QuickHelp/Core1/Core2-109.png)
![](/QuickHelp/Core1/Core2-110.png)
![](/QuickHelp/Core1/Core2-111.png)
![](/QuickHelp/Core1/Core2-112.png)
![](/QuickHelp/Core1/Core2-113.png)
![](/QuickHelp/Core1/Core2-114.png)
9. Inversion of Control
- 1. Infrastructure IOC Project
- 2. Dependency Container
- 3. Register Services
![](/QuickHelp/Core1/Core2-115.png)
![](/QuickHelp/Core1/Core2-116.png)
![](/QuickHelp/Core1/Core2-117.png)
![](/QuickHelp/Core1/Core2-118.png)
![](/QuickHelp/Core1/Core2-119.png)
![](/QuickHelp/Core1/Core2-120.png)
![](/QuickHelp/Core1/Core2-121.png)
![](/QuickHelp/Core1/Core2-122.png)
![](/QuickHelp/Core1/Core2-123.png)
![](/QuickHelp/Core1/Core2-124.png)
![](/QuickHelp/Core1/Core2-125.png)
![](/QuickHelp/Core1/Core2-126.png)
![](/QuickHelp/Core1/Core2-127.png)
![](/QuickHelp/Core1/Core2-128.png)
![](/QuickHelp/Core1/Core2-129.png)
![](/QuickHelp/Core1/Core2-130.png)
![](/QuickHelp/Core1/Core2-131.png)
10. Presentation Layer Implementation
- 1. Seed Initial Data
- 2. Add Images
- 3. Controller
- 4. ViewModel from Service
- 5. Define Views
- 6. Custom CSS
- 7. Adjust Layout and Launch MVC
![](/QuickHelp/Core1/Core2-132.png)
![](/QuickHelp/Core1/Core2-133.png)
![](/QuickHelp/Core1/Core2-134.png)
![](/QuickHelp/Core1/Core2-135.png)
![](/QuickHelp/Core1/Core2-136.png)
![](/QuickHelp/Core1/Core2-137.png)
![](/QuickHelp/Core1/Core2-138.png)
![](/QuickHelp/Core1/Core2-139.png)
![](/QuickHelp/Core1/Core2-140.png)
![](/QuickHelp/Core1/Core2-141.png)
![](/QuickHelp/Core1/Core2-142.png)
![](/QuickHelp/Core1/Core2-143.png)
![](/QuickHelp/Core1/Core2-144.png)
![](/QuickHelp/Core1/Core2-145.png)
![](/QuickHelp/Core1/Core2-146.png)
![](/QuickHelp/Core1/Core2-147.png)
![](/QuickHelp/Core1/Core2-148.png)
![](/QuickHelp/Core1/Core2-149.png)
![](/QuickHelp/Core1/Core2-150.png)
![](/QuickHelp/Core1/Core2-151.png)
![](/QuickHelp/Core1/Core2-152.png)
![](/QuickHelp/Core1/Core2-153.png)
![](/QuickHelp/Core1/Core2-154.png)
![](/QuickHelp/Core1/Core2-155.png)
![](/QuickHelp/Core1/Core2-156.png)
![](/QuickHelp/Core1/Core2-157.png)
![](/QuickHelp/Core1/Core2-158.png)
![](/QuickHelp/Core1/Core2-159.png)
![](/QuickHelp/Core1/Core2-160.png)
11. Presentation Layer Finalized
- 1. Deep Dive Debug
- 2. Secure Controller
- 3. Commit Presentation Layer
![](/QuickHelp/Core1/Core2-161.png)
![](/QuickHelp/Core1/Core2-162.png)
![](/QuickHelp/Core1/Core2-163.png)
![](/QuickHelp/Core1/Core2-164.png)
![](/QuickHelp/Core1/Core2-165.png)
![](/QuickHelp/Core1/Core2-166.png)
![](/QuickHelp/Core1/Core2-167.png)
![](/QuickHelp/Core1/Core2-168.png)
Comments (
)
![](http://forum.vb-net.com/GetTopicCount.png?id=63e97d1e-9288-4ae4-a028-e35dd9050d61)
<00>
<01>
<02>
<03>
<04>
<05>
<06>
<07>
<08>
<09>
<10>
<11>
<12>
<13>
<14>
<15>
<16>
<17>
<18>
<19>
<20>
<21>
<22>
<23>
Link to this page:
//www.vb-net.com/QuickHelp/Core1/Core2.htm
<SITEMAP> <MVC> <ASP> <NET> <DATA> <KIOSK> <FLEX> <SQL> <NOTES> <LINUX> <MONO> <FREEWARE> <DOCS> <ENG> <CHAT ME> <ABOUT ME> < THANKS ME> |