Todoアプリの概要設計|ASP.NET×Blazor入門 11.1
11.1 Todoアプリの概要設計
これまで学習してきたコンポーネント設計、データバインディング、状態管理、ルーティング、サービス層の構築といった技術要素を集約し、ここからはBlazorを用いたTodoアプリを構築していきます。
本セクションでは、アプリ全体の設計方針やアーキテクチャ、必要となる機能を明確にし、後続セクションで実装する各パーツの関係性を俯瞰的に把握することを目指します。
基本仕様
- タスクの一覧表示
- タスクの追加・編集・削除
- タスクの完了状態管理(チェックボックス)
- 検索・フィルター機能(状態やキーワード)
- 状態保持(リロード時に情報を保持)
UI構成(画面設計)
以下のような画面構成で考えます:
- TodoList.razor: 一覧表示とフィルター
- TodoItem.razor: 個別タスクの表示・編集
- TodoForm.razor: 新規登録や編集用フォーム
- SearchBar.razor: キーワード検索
コンポーネント間の関係性
TodoList が中心的な親コンポーネントとして TodoItem や TodoForm を含み、SearchBar などの補助的なコンポーネントとも連携します。 データの一元管理は DI による状態管理サービス TodoStateService によって行います。
状態管理とサービス設計
- タスク一覧データは
TodoStateServiceに保持 - CRUD操作は
TodoServiceを介して行う(データソースはモック or API) - 状態変化に応じて各コンポーネントが再描画される設計
ルーティング設計
/todos- 一覧ページ/todos/{id}- 編集ページ/todos/new- 登録ページ
設計方針としては、できる限り責務の分離を行い、テスト容易性や再利用性を考慮した構造とします。 次のセクションでは、モデル定義とサービス層の作成 に進み、設計した構造をもとにコードの実装に入っていきましょう。
2025-05-17
下田 昌平
開発に関するインプットをアウトプットしています。検索ログ
Blazor 自動化 342
Blazor JSON表示 323
Blazor API連携 315
HTMLとC 312
Blazor データ取得 304
Blazor 初期処理 304
Blazor エラー処理 303
Python入門 302
Blazor 運用 298
Razor入門 298
Blazor テスト 293
Blazor リスト表示 293
API呼び出し Blazor 290
.NET HttpClient 使い方 289
入門 289
Blazor 非同期通信 288
Blazor コンポーネント初期化 287
Blazor サーバー通信 287
Blazor 非同期処理 286
使い分け 285
フォーム入力 282
HttpClient 使い方 279
bUnit使い方 275
依存性注入 274
Blazor入門 271
HttpClient 例外処理 267
UI操作 260
フォルダ構成 255
AIとPython 248
Pythonとは 243
開発・技術相談
システム開発や技術検証、要件定義の作成、アーキテクチャ設計、 テスト設計、運用設計まで、一気通貫で支援しています。 企画段階の「まず相談したい」レベルから、実装・運用まで 幅広く対応できますので、お気軽にお問い合わせください。
お問い合わせ