Category: 設計
UseCase
UseCaseは、ビジネスロジックを記述するためのモジュールです。 UseCaseは一般的に、Entityを利用して、ビジネスロジックを実行して、結果を返したり、Repositoryを利用して、デー…
Entity
Entityとは、Idによって同一性を保証するクラスのことです。 なぜEntityが必要なのか? 一般的なアプリケーションでは、データが変化するということが頻繁に起こります。 たとえば、クラスであれ…
Repository
RepositoryとはEntityの永続化を隠蔽するためのモジュールです。 なぜRepositoryが必要なのか? Repositoryを使用することで、ビジネスロジックを記述する際に、どのDBを…
ビジネスロジック
ビジネスロジックとは、アプリケーションで扱う、そのサービスや業務が“どういうルールで動くか”を表した処理のことです。 ビジネスロジックを実現することが、アプリケーションの主な目的となります。 ビジネ…
PageとView
UIを何らかの要素にモジュール分割したい場合に、よくPageとViewという概念を使います。 UIを書く際にどのような単位でモジュール化するかを予め決めておくと、〇〇Pageや〇〇Viewなどサフィ…
Result型
Dart言語には、例外とエラーという概念があります。これらはどちらもされる対象であり、プログラムを停止させることができるものですが、厳密には異なるものとされています。 例外は、するべき対象です。つま…
メタデータ
データは通常DBに格納するのが一般的です。しかし、データが大きくてデータの本体をDBに永続化してしまうと、パフォーマンスやコスト的によろしくないといった場合もあります。 その場合、データ本体はオブジ…
ドメインプリミティブ
ビジネスロジックを記述する際に、処理がコードの至る所に散らばってしまい、データや計算の整合性が取れなくなってしまうことがあります。 例えば、長さを扱うアプリケーションで単純に型で長さを扱った場合、メ…
概念モデルと実装モデル
最近OOUIに関する本を読みました。この本は、オブジェクト指向でのユーザインターフェースの設計について書かれています。OOUIは、UIの設計にオブジェクト指向の考え方を取り入れる設計方法で、ユーザー…