0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

レイヤードアーキテクチャに基づくASP.NET MVC構成

Last updated at Posted at 2025-09-27

はじめに

MVCモデルでアプリケーションを新規作成しています。

DB接続は「Entity Framework」を使いました。

いよいよ実装ですが、レイヤードアーキテクチャで行おうと思います。

レイヤードアーキテクチャとは

レイヤードアーキテクチャは、ソフトウェアを機能や責務ごとに論理的な層(レイヤー)に分割して構築するソフトウェア設計パターンです。

プレゼンテーション層

ユーザーインターフェースを扱う層
ブラウザなどがこれにあたり、ユーザーからの入力受付や情報の表示を行います。

アプリケーション層

プレゼンテーション層とドメイン層の橋渡し
プレゼンテーション層からのリクエストを受けて処理を実行し、ビジネスロジック層に渡します。

ドメイン層

ビジネスロジックが実装される層
アプリケーションの本質的な処理を行います。

インフラストラクチャ層

データベースアクセスなどを担う層

レイヤードアーキテクチャに基づくASP.NET MVC構成

図にすると以下のようになります。

構成

ブラウザ

ユーザーがフォーム入力やボタン操作を行う
入力値は HTTPリクエスト(POST/GET) として送信する

ビュー

ASP.NET MVCのRazorなどで作成されるHtml

コントローラ

ビューモデルを受け取り、DTOに変換してロジックに渡す

ロジック

DTOを受け取り、エンティティに変換してリポジトリに渡す
トランザクション制御や複数リポジトリの連携もここで行う

リポジトリ

データベースアクセス処理

データベース

SQLが実行される

データ構造

ビューモデル

ビューとコントローラの間のデータ転送用クラス
入力チェックや画面表示用のプロパティを持つ
UIに特化している

DTO

ロジックに渡すデータ構造
ユースケース単位の必要最小限のデータ

エンティティ

データベースのテーブルに対応するクラス

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?