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 テスト 1103
Blazor API連携 1095
Blazor リスト表示 1074
Razor入門 1017
Blazor 自動化 998
フォルダ構成 995
AIとPython 984
HTMLとC 983
Blazor JSON表示 975
Blazor データ取得 951
Blazor 運用 950
Blazor エラー処理 946
使い分け 946
Python入門 944
Blazor 初期処理 941
フォーム入力 933
依存性注入 931
Blazor サーバー通信 928
Blazor 非同期通信 925
UI操作 924
HttpClient 例外処理 918
Blazor 非同期処理 915
入門 914
.NET HttpClient 使い方 913
Blazor入門 910
API呼び出し Blazor 901
HttpClient 使い方 881
Blazor コンポーネント初期化 880
Pythonとは 880
bUnit使い方 856
開発・技術相談
システム開発や技術検証、要件定義の作成、アーキテクチャ設計、 テスト設計、運用設計まで、一気通貫で支援しています。 企画段階の「まず相談したい」レベルから、実装・運用まで 幅広く対応できますので、お気軽にお問い合わせください。
お問い合わせ