Todoアプリの概要設計|ASP.NET×Blazor入門 11.1

11.1 Todoアプリの概要設計

これまで学習してきたコンポーネント設計、データバインディング、状態管理、ルーティング、サービス層の構築といった技術要素を集約し、ここからはBlazorを用いたTodoアプリを構築していきます。

本セクションでは、アプリ全体の設計方針やアーキテクチャ、必要となる機能を明確にし、後続セクションで実装する各パーツの関係性を俯瞰的に把握することを目指します。

基本仕様

  • タスクの一覧表示
  • タスクの追加・編集・削除
  • タスクの完了状態管理(チェックボックス)
  • 検索・フィルター機能(状態やキーワード)
  • 状態保持(リロード時に情報を保持)

UI構成(画面設計)

以下のような画面構成で考えます:

  • TodoList.razor: 一覧表示とフィルター
  • TodoItem.razor: 個別タスクの表示・編集
  • TodoForm.razor: 新規登録や編集用フォーム
  • SearchBar.razor: キーワード検索

コンポーネント間の関係性

TodoList が中心的な親コンポーネントとして TodoItemTodoForm を含み、SearchBar などの補助的なコンポーネントとも連携します。 データの一元管理は DI による状態管理サービス TodoStateService によって行います。

状態管理とサービス設計

  • タスク一覧データは TodoStateService に保持
  • CRUD操作は TodoService を介して行う(データソースはモック or API)
  • 状態変化に応じて各コンポーネントが再描画される設計

ルーティング設計

  • /todos - 一覧ページ
  • /todos/{id} - 編集ページ
  • /todos/new - 登録ページ

設計方針としては、できる限り責務の分離を行い、テスト容易性や再利用性を考慮した構造とします。 次のセクションでは、モデル定義とサービス層の作成 に進み、設計した構造をもとにコードの実装に入っていきましょう。

2025-05-17

下田 昌平

開発に関するインプットをアウトプットしています。