git clone [email protected]:shengyu-kmust/SnailAspNetCoreFramework.git
git clone [email protected]:shengyu-kmust/Snail.git
cd SnailAspNetCoreFramework
dotnet build
다음은 v1.0 버전을 기준으로 한 데모 다이어그램입니다.
--ApplicationCore // 핵심 추상화 레이어는 명확한 아키텍처 모드를 채택하고 다른 레이어에 의존하지 않습니다. 다른 세 프로젝트는 모두 이러한 유형의 라이브러리에 의존하며 인터페이스, 상수, 열거, dto, 엔터티와 같은 공개 정의를 담당합니다. 등.
----Const // 구성 상수, 이벤트 이름 상수 등 상수 정의
----Dtos // 모든 dtos
----엔티티 // 모든 엔터티
----열거형 // 열거형
----IServices //서비스 계층의 추상 정의
----유틸리티 // 도움말 클래스
--인프라 구조 //인프라 계층은 상위 계층(예: 서비스 계층 및 애플리케이션 계층)에 데이터 서비스를 제공합니다.
----Data/config // 데이터베이스 엔터티 프레임워크 유창한 API 구성
----EFValueConverter // 열거형 변환 등 엔터티프레임워크 데이터베이스 유형과 clr 유형 간의 변환
----마이그레이션 //EntityFramework 코드 마이그레이션을 위한 디렉터리를 먼저 생성합니다.
--Service // 서비스 계층, 애플리케이션 로직 구현을 위한 기본 계층인 ApplicationCore에서 서비스 인터페이스를 구현하는 데 사용됩니다.
----캐시 // 나중에 Snail 프로젝트에서 제거되고 추출될 캐시 구현입니다.
----인터셉터 //기본적으로 구현된 인터셉터
----BaseService.cs //각 서비스의 기본 클래스에는 CRUD와 같은 각 서비스의 공통 메서드가 포함되어 있습니다.
----InitDatabaseService.cs // 데이터베이스 데이터 초기화를 담당합니다.
----InterceptorService.cs //인터셉터 기본 클래스
--Web // 인터페이스 매개변수의 입력 및 출력과 관련된 모든 처리(예: 매개변수 확인, 출력 형식 예약 등)를 담당합니다.
----AutoFacModule // autofac 주입 구성
----AutoMapperProfiles // 자동 매퍼 구성
----ClientApp // 프런트엔드 프로젝트
------build // 프런트엔드 컴파일로 생성된 출력 디렉터리
------mock // 프론트엔드 모의
------src // 프론트엔드 핵심 코드
----CodeGenerator //코드 생성을 위한 T4 모듈 및 관련 로직
----ConfigureServicesExtensions // 시작 파일에 쓰지 않도록 하는 ServiceProvider 주입 확장
----컨트롤러 //컨트롤러
----docs // 문서 세트
----Dto // dto 클래스는 웹 레이어에서만 사용됩니다.
----필터 // 필터
----허브 // 신호기
----권한 //권한의 기본 구현
----staticFile // 업로드된 파일을 저장하는 데 사용됩니다.
DDD를 사용하지만 프로젝트 규모에 따라 다양한 DDD 기술을 적용해야 합니다. 일반적으로 다음과 같은 프로젝트로 구분됩니다.
도메인 기반, 다른 레이어에 의존하는 경우 구현보다는 해당 레이어의 인터페이스에 의존합니다.
리포지토리 및 작업 단위 모드를 사용하되 EF와 함께 제공되는 리포지토리 모드를 사용하세요.
1. 이 프로젝트를 git clone 2. codeGenerate.json 구성 3. 이 프로젝트를 실행하고 swagger에 로그인한 후 codeGenerate 인터페이스 실행 4. add-migration 실행 5. 프로젝트 시작
SnailAspNetCoreFramework 프레임워크 시리즈 블로그
1. 프레임워크 내 각 프로젝트 및 디렉토리의 소개 및 일반적인 디자인 아이디어 - SnailAspNetCoreFramework 신속한 개발 프레임워크
2. 인터페이스 입력 검증, 출력 형식 및 예외 처리 - SnailAspNetCoreFramework 신속한 개발 프레임워크 백엔드 설계
3. 범용 권한 설계 - SnailAspNetCoreFramework 신속한 개발 프레임워크 백엔드 설계
4. 프론트엔드에 좋은 인터페이스 문서(Swagger)를 제공하는 방법 - SnailAspNetCoreFramework 신속한 개발 프레임워크 백엔드 디자인
5. 다양한 시나리오에서의 캐시 사용 - SnailAspNetCoreFramework 신속한 개발 프레임워크 백엔드 설계
6. Castle 기반 AOP 설계 및 공통 캐시, 성능, 로그 인터셉터 구현 - SnailAspNetCoreFramework 신속한 개발 프레임워크 백엔드 설계
7. 종속성 주입 소개 - autofac - SnailAspNetCoreFramework 신속한 개발 프레임워크 백엔드 설계
8. Eventbus를 사용하는 이유와 사용 방법 - SnailAspNetCoreFramework 신속한 개발 프레임워크 백엔드 설계
9. 로그 컴포넌트인 Nlog 소개 - SnailAspNetCoreFramework 신속한 개발 프레임워크 백엔드 설계
10.Mediatr 소개 - SnailAspNetCoreFramework 신속한 개발 프레임워크 백엔드 설계
11. 컨트롤러, 서비스 및 Dal 레이어를 위한 범용 CRUD 디자인 - SnailAspNetCoreFramework 신속한 개발 프레임워크 백엔드 디자인
12. 객체 매핑 도구 자동 매퍼 - SnailAspNetCoreFramework 신속한 개발 프레임워크 백엔드 설계
13. EF에서 생성된 SQL 문을 모니터링하는 방법 - SnailAspNetCoreFramework 신속한 개발 프레임워크 백엔드 디자인
14. .net 코어의 여러 배포 방법 소개 - SnailAspNetCoreFramework 신속한 개발 프레임워크 백엔드 설계
15. 실시간 통신 시그널러 - SnailAspNetCoreFramework 신속한 개발 프레임워크 백엔드 설계
16. ef 코드를 먼저 사용하여 프로젝트의 데이터베이스 버전을 지속적으로 반복하는 방법 - SnailAspNetCoreFramework 신속한 개발 프레임워크 백엔드 디자인
17. 자동 코드 생성 기능 소개 - SnailAspNetCoreFramework 신속한 개발 프레임워크 백엔드 설계
18. 프로젝트의 각 기능이 정상인지 모니터링하는 방법(HealthCheck) - SnailAspNetCoreFramework 신속한 개발 프레임워크 백엔드 설계
19. 예약된 작업을 위한 hangfire 소개 - SnailAspNetCoreFramework 신속한 개발 프레임워크 백엔드 설계
20. 프런트 엔드에 대한 전반적인 소개 - SnailAspNetCoreFramework 신속한 개발 프레임워크 프런트 엔드 디자인
21. 더 이상 백엔드 인터페이스를 구걸하지 마세요(MOCK 사용) - SnailAspNetCoreFramework 신속한 개발 프레임워크 프런트엔드 디자인
22. 프론트엔드 권한 제어 - SnailAspNetCoreFramework 신속한 개발 프레임워크 프론트엔드 디자인
23. 프론트엔드 CRUD 코드 반복 작성을 피하는 방법 (프론트엔드에서 다양한 SnailXXX 컴포넌트 소개 및 사용) - SnailAspNetCoreFramework 신속한 개발 프레임워크 프론트엔드 디자인
24. 요청 프록시 소개 - SnailAspNetCoreFramework 신속한 개발 프레임워크 프런트 엔드 디자인