開発環境及びプロジェクトフレームワークの紹介
5027 ワード
このシリーズのドキュメントでは、ASPについて説明します.NET MVCプロジェクトフレームワークは、リストの作成、ページの追加、変更、クエリー機能付きリストページの実装方法を一歩一歩指導します.
私たちのプロジェクトは採用します.NETプラットフォームの技術開発は,事前に開発環境をインストールする必要がある. IDE:Visual Studio 2015以降を開発する、Visual Studioをインストールする場合、必要な環境の一部が自動的にインストールされる.NET Framework Database:プロジェクト最低要求SQL Server 2008 R 2 コード管理:Subversion、wiki:SubversionGuide を参照ブラウザ:Webサイトの開発を行うブラウザは欠かせません.このドキュメントではGoogle Chromeブラウザ を使用します.
上記のソフトウェアは大連サーバーの\shiji-servershareSoftwareDevelopmentで提供され、このアドレスをコピーしてリソースマネージャのアドレスバーに貼り付けてアクセスします.
さまざまなソフトウェアのほかに、使用するデータベースを開発する準備が必要です.データベースのバックアップファイルをローカルに復元することで、データベースのバックアップファイルは\shiji-serversharedb_に提供されます.backupでは、バックアップファイルをD:backupなどのパソコンにダウンロードします.まず、バックアップ・ファイルにどのファイルがあるかを確認します.
バックアップファイルには、ECRS、ECRS 01、ECRS_の3つのファイルが表示されます.log、次のSQLを実行して、この3つのファイルをローカルに復元します.
実行後少し待つと、ローカルに私たちが開発したデータベースがあります.
KunlunCCMをローカルにダウンロードする、Visual StudioでKunlunCCMを開く.slnソリューションファイルは、下図に示す構造を見ることができます.私たちのプロジェクトは3つの大部分に分けることができます. Librariesクラスライブラリ層 Presentation表現層 Testsユニットテスト 各セクションはフォルダで区切られ、各フォルダにはいくつかのアイテムがあります.
Librariesディレクトリには、エンティティークラス定義、データベース操作、ビジネスロジック操作などに関連するすべてのクラスライブラリが格納されています. Coreコアクラス層:キャッシュ、例外、エンティティクラスなど、プロジェクトに関連する最もコアなクラス定義が格納されています.データベースを操作するときは、データベース内のテーブルをクラスにマッピングする必要があります.これらのクラスはエンティティクラスと呼ばれ、CoreプロジェクトのDomainフォルダの下に 保存されています. Dataデータ・アクセス・レイヤ:操作データベースのクラスと、Mappingフォルダの下に が格納されたエンティティ・クラスとデータベース・テーブルのマッピング・ルールが格納されます. Servicesビジネスロジック層:ここでは、 を実装する具体的なビジネスロジックが明らかになった.
データベース内のテーブル(リレーションシップ)を、作成したクラス(オブジェクト)にマッピングします.このテクノロジーをオブジェクトリレーションシップマッピングと呼び、英語名をORM(Object Relation Mapping)と呼びます.この機能は、Entity Framework(EFと略称)またはDapperによって実現されます.これらはサードパーティクラスライブラリです.DapperはSQL文を自分で作成する必要がありますが、Entity FrameworkはSQL文を自動的に生成することができます.Entity Frameworkを使用する場合、データベースの操作を倉庫クラスRepositoryで簡略化します.倉庫クラスはDataプロジェクトにあります.このシリーズでは、Entity Frameworkを使用してデータベース操作を行います.
Webビューレイヤー:これが私たちのASPです.NET MVCプロジェクト、ユーザーが見たページはここから Web.Framework Webアーキテクチャ層:私たちのサイトが初めて起動した論理コード、Webワークコンテキストオブジェクト(現在ログインしているユーザーなどの情報を取得できる)、各種MVCフィルタなど、プロジェクトに役立つものがたくさんパッケージされています.このプロジェクトは後日さらに を深く理解することができる.
ASP.NET MVCプロジェクトはご存知のように、MVCはModel-View-Controllerモードを代表しています.ASP.NET MVCでは,表示用のページをViewで作成し,各ページに対応するバックグラウンドコードをControllerで作成し,Modelではページデータの担体としてクラスを記述する.クラス・ライブラリ・レイヤの紹介により、サービス・プロジェクトにはすべてのビジネス・ロジックが実装されていることがわかります.そのため、Controllerは対応するサービス・メソッドを呼び出すだけで、ビジネス・ロジックをControllerに書くべきではありません.この考え方は、職責分離と呼ばれ、コントローラはビューのためにデータを準備することに専念し、Serviceはビジネスロジックに専念する.
このシリーズのドキュメントには、ユニットテストに関する内容は含まれていません.
前述のORMクラスライブラリEFとDapperについて簡単に説明したが,プロジェクトには様々なサードパーティクラスライブラリ,および操作を簡素化できるいくつかのクラスライブラリも導入した.ここではサードパーティクラスライブラリについて説明します.
データベース・アクセス: Entity Framework Dapper
フロントエンドの表示: ASP.NET MVC jQuery Bootstrap AdminLTE Bootstrapトピック DataTables.jsウェブページに表を表示するためのプラグイン KendoUI Coreの強力なフロントエンドコントロールは、日付セレクタ、ドロップダウンメニュー、デジタル入力ボックスなどの一般的なコントロール を提供します.
依存注入: AutoFac
検証: jQuery Validationフロントエンド検証プラグイン Fluent Validation MVC側の検証クラスライブラリで、フロントとバックグラウンドの検証 を実現できます.
タイプマッピング: Auto Mapperは、1つのクラスを別のクラスにすることができます.これは、エンティティクラスへのデータベースのマッピング ではないことに注意してください.
サードパーティクラスライブラリについては、まず公式に提供されているドキュメントの紹介を参照してください.後の項目で詳しく説明します.次の節から、開発に着手しますので、お待ちください.
環境準備
私たちのプロジェクトは採用します.NETプラットフォームの技術開発は,事前に開発環境をインストールする必要がある.
上記のソフトウェアは大連サーバーの\shiji-servershareSoftwareDevelopmentで提供され、このアドレスをコピーしてリソースマネージャのアドレスバーに貼り付けてアクセスします.
データベースのリストア
さまざまなソフトウェアのほかに、使用するデータベースを開発する準備が必要です.データベースのバックアップファイルをローカルに復元することで、データベースのバックアップファイルは\shiji-serversharedb_に提供されます.backupでは、バックアップファイルをD:backupなどのパソコンにダウンロードします.まず、バックアップ・ファイルにどのファイルがあるかを確認します.
-- disk
restore filelistonly from disk = 'D:\backup\ecrs20160913.bak'
バックアップファイルには、ECRS、ECRS 01、ECRS_の3つのファイルが表示されます.log、次のSQLを実行して、この3つのファイルをローカルに復元します.
use master
-- ECRS_20170124
restore database ECRS_20170124
-- disk
from disk = 'D:\Data\ecrs20151218.bak'
-- to
with move 'ECRS' to 'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\ECRS.mdf',
move 'ECRS01' to 'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\ECRS01.mdf',
move 'ECRS_log' to 'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\ECRS_log.ldf',
STATS = 10, REPLACE
実行後少し待つと、ローカルに私たちが開発したデータベースがあります.
フレームワークの概要
KunlunCCMをローカルにダウンロードする、Visual StudioでKunlunCCMを開く.slnソリューションファイルは、下図に示す構造を見ることができます.私たちのプロジェクトは3つの大部分に分けることができます.
クラスライブラリレイヤ
Librariesディレクトリには、エンティティークラス定義、データベース操作、ビジネスロジック操作などに関連するすべてのクラスライブラリが格納されています.
データベース内のテーブル(リレーションシップ)を、作成したクラス(オブジェクト)にマッピングします.このテクノロジーをオブジェクトリレーションシップマッピングと呼び、英語名をORM(Object Relation Mapping)と呼びます.この機能は、Entity Framework(EFと略称)またはDapperによって実現されます.これらはサードパーティクラスライブラリです.DapperはSQL文を自分で作成する必要がありますが、Entity FrameworkはSQL文を自動的に生成することができます.Entity Frameworkを使用する場合、データベースの操作を倉庫クラスRepositoryで簡略化します.倉庫クラスはDataプロジェクトにあります.このシリーズでは、Entity Frameworkを使用してデータベース操作を行います.
ひょうげんそう
ASP.NET MVCプロジェクトはご存知のように、MVCはModel-View-Controllerモードを代表しています.ASP.NET MVCでは,表示用のページをViewで作成し,各ページに対応するバックグラウンドコードをControllerで作成し,Modelではページデータの担体としてクラスを記述する.クラス・ライブラリ・レイヤの紹介により、サービス・プロジェクトにはすべてのビジネス・ロジックが実装されていることがわかります.そのため、Controllerは対応するサービス・メソッドを呼び出すだけで、ビジネス・ロジックをControllerに書くべきではありません.この考え方は、職責分離と呼ばれ、コントローラはビューのためにデータを準備することに専念し、Serviceはビジネスロジックに専念する.
ユニットテスト
このシリーズのドキュメントには、ユニットテストに関する内容は含まれていません.
サードパーティクラスライブラリ
前述のORMクラスライブラリEFとDapperについて簡単に説明したが,プロジェクトには様々なサードパーティクラスライブラリ,および操作を簡素化できるいくつかのクラスライブラリも導入した.ここではサードパーティクラスライブラリについて説明します.
データベース・アクセス:
フロントエンドの表示:
依存注入:
検証:
タイプマッピング:
サードパーティクラスライブラリについては、まず公式に提供されているドキュメントの紹介を参照してください.後の項目で詳しく説明します.次の節から、開発に着手しますので、お待ちください.