Category: 設計

UseCase

UseCaseは、ビジネスロジックを記述するためのモジュールです。 UseCaseは一般的に、Entityを利用して、ビジネスロジックを実行して、結果を返したり、Repositoryを利用して、デー…

設計Wiki

Entity

Entityとは、Idによって同一性を保証するクラスのことです。 なぜEntityが必要なのか? 一般的なアプリケーションでは、データが変化するということが頻繁に起こります。 たとえば、クラスであれ…

設計Wiki

Repository

RepositoryとはEntityの永続化を隠蔽するためのモジュールです。 なぜRepositoryが必要なのか? Repositoryを使用することで、ビジネスロジックを記述する際に、どのDBを…

設計Wiki

ビジネスロジック

ビジネスロジックとは、アプリケーションで扱う、そのサービスや業務が“どういうルールで動くか”を表した処理のことです。 ビジネスロジックを実現することが、アプリケーションの主な目的となります。 ビジネ…

設計Wiki

PageとView

UIを何らかの要素にモジュール分割したい場合に、よくPageとViewという概念を使います。 UIを書く際にどのような単位でモジュール化するかを予め決めておくと、〇〇Pageや〇〇Viewなどサフィ…

プログラミング設計Wikiプレゼンテーション層

Result型

Dart言語には、例外とエラーという概念があります。これらはどちらもされる対象であり、プログラムを停止させることができるものですが、厳密には異なるものとされています。 例外は、するべき対象です。つま…

プログラミング設計Wikiドメイン層

メタデータ

データは通常DBに格納するのが一般的です。しかし、データが大きくてデータの本体をDBに永続化してしまうと、パフォーマンスやコスト的によろしくないといった場合もあります。 その場合、データ本体はオブジ…

Wikiプログラミング設計ドメイン層

ドメインプリミティブ

ビジネスロジックを記述する際に、処理がコードの至る所に散らばってしまい、データや計算の整合性が取れなくなってしまうことがあります。 例えば、長さを扱うアプリケーションで単純に型で長さを扱った場合、メ…

プログラミング設計Wikiドメイン層

概念モデルと実装モデル

最近OOUIに関する本を読みました。この本は、オブジェクト指向でのユーザインターフェースの設計について書かれています。OOUIは、UIの設計にオブジェクト指向の考え方を取り入れる設計方法で、ユーザー…

プログラミング設計