# Flutter Layered Architecture Design Patterns

> Flutter-Layered-Architecture アプリに最適化された汎用的デザインパターンを知るためのSKILL。コード調査についても、アーキテクチャを知ることで精度を高めることができる。 Use when this capability is needed.

- Skill: `tomevault-io/flutter-layered-architecture-design-patterns` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/flutter-layered-architecture-design-patterns`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/flutter-layered-architecture-design-patterns/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/flutter-layered-architecture-design-patterns

---

# Flutter-Layered-Architecture / デザインパターン

## Usecase層 / Usecase設計

Usecase層における一般的な実装パターン。

1インターフェースにつき1機能を提供し、 `Request & Result` オブジェクトによる引数・レスポンスパターンの統制を行う。

* 詳細については、ドキュメントをロードして把握する。
* [Usecase層のインターフェース設計・実装パターン](./references/usecase-pattern.md)
  * 例: Usecase層の設計・実装を行う

## Data層 / Repository設計

Data層における一般的な実装パターン。

データのRead/Write両方を行うインターフェースを `{機能グループ名}Repository` として定義する。

* 詳細については、ドキュメントをロードして把握する。
* [Data層/Repositoryインターフェース設計・実装パターン](./references/repository-pattern.md)

## Repository <--> Usecaseの依存関係

* Data層はUsecase層と同一レベルに属しているため、相互でインターフェースに依存することを認めている
  * 例: 特定のRepositoryが、特定のUsecaseのビジネスロジックを使用する
  * 例: 特定のUsecaseが、特定のRepositoryの操作を行う
* ただし、クラス設計上の循環参照にならないよう、依存関係に注意して設計する
  * Riverpodの `Provider.dependencies` を適切に管理・把握する

---
> Source: [eaglesakura/ai-agent-headquarters](https://github.com/eaglesakura/ai-agent-headquarters) — distributed by [TomeVault](https://tomevault.io).
<!-- tomevault:4.0:skill_md:2026-05-22 -->

