git clone [email protected]:shengyu-kmust/SnailAspNetCoreFramework.git
git clone [email protected]:shengyu-kmust/Snail.git
cd SnailAspNetCoreFramework
dotnet build
以下は、v1.0 バージョンに基づくデモンストレーション図です。
--ApplicationCore // コア抽象化レイヤーは明確なアーキテクチャ モードを採用しており、他の 3 つのプロジェクトはすべてこのタイプのライブラリに依存しており、インターフェイス、定数、列挙、dto、エンティティなどのパブリック定義を担当します。等
----Const // 設定定数、イベント名定数などの定数定義
----Dtos // すべての dtos
----エンティティ // すべてのエンティティ
----Enums // 列挙型
----IServices //サービス層の抽象定義
----ユーティリティ // ヘルプ クラス
--インフラストラクチャ //インフラストラクチャ層は、上位層(サービス層やアプリケーション層など)にデータ サービスを提供します。
----Data/config // データベース エンティティフレームワークの流暢な API 構成
----EFValueConverter // 列挙変換など、entityframework データベース型と clr 型の間の変換
----Migrations //最初に EntityFramework コードの移行用のディレクトリを生成します
--Service // サービス層。アプリケーション ロジック実装の主要層である ApplicationCore のサービス インターフェイスを実装するために使用されます。
----Cache // キャッシュ実装。後で削除され、Snail プロジェクトに抽出されます。
----Interceptor //デフォルトで実装されるインターセプター
----BaseService.cs //各サービスの基本クラスには、CRUD などの各サービスの共通メソッドが含まれています
----InitDatabaseService.cs // データベース データの初期化を担当します
----InterceptorService.cs //インターセプター基本クラス
--Web // インターフェイス パラメーターの入出力に関連するすべての処理 (パラメーターの検証、出力形式の予約など) を担当します。
----AutoFacModule // autofac インジェクション設定
----AutoMapperProfiles // オートマッパー設定
----ClientApp // フロントエンド プロジェクト
------build // フロントエンドコンパイルによって生成された出力ディレクトリ
------mock // フロントエンドモック
------src // フロントエンドコアコード
----CodeGenerater //T4 モジュールとコード生成用の関連ロジック
----ConfigureServicesExtensions // スタートアップ ファイルへの書き込みを避けるための ServiceProvider インジェクション拡張機能
----コントローラー //コントローラー
----docs // ドキュメントセット
----Dto // dto クラスは Web レイヤーでのみ使用されます
----フィルター // フィルター
----ハブ // シグナラー
----Permission //パーミッションのデフォルトの実装
----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 core のいくつかの導入方法の紹介 - 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 高速開発フレームワークのフロントエンド設計