質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
インターフェース

インターフェイスという用語はハードウェア・ソフトウェアの両方に使うことができます。 一般的に、インターフェイスは内部処理の詳細を見せないように設定されます。オブジェクト指向プログラミングにおいて、インターフェイスはabstractクラスとして定義されます。

ドメイン駆動設計

ドメイン駆動設計(Domain-driven design, DDD)とは、ソフトウェアの設計手法、および設計思想や哲学のことです。ドメインモデル構築の際に、設計上の判断を決定する枠組みとドメイン設計に関して議論するボキャブラリを提供するものです。

Q&A

2回答

889閲覧

DDD リポジトリのインターフェースをどう置くか

accountinitial

総合スコア0

インターフェース

インターフェイスという用語はハードウェア・ソフトウェアの両方に使うことができます。 一般的に、インターフェイスは内部処理の詳細を見せないように設定されます。オブジェクト指向プログラミングにおいて、インターフェイスはabstractクラスとして定義されます。

ドメイン駆動設計

ドメイン駆動設計(Domain-driven design, DDD)とは、ソフトウェアの設計手法、および設計思想や哲学のことです。ドメインモデル構築の際に、設計上の判断を決定する枠組みとドメイン設計に関して議論するボキャブラリを提供するものです。

0グッド

0クリップ

投稿2021/06/02 09:19

リポジトリのインターフェースをドメイン層に置く場合、Domain/機能名/Repositories/XXXXXRepositoryとするのか、Domain/Repositories/機能名/XXXXXRepositoryとするのか、どちらが適切等ありますでしょうか。

個人的には後者のDomain/Repositories/機能名/XXXXXRepositoryの方が見やすいかなと思っているのですが、決め手となる理由ではないなと思い、質問させていただきました。

ご回答の程よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gentaro

2021/06/02 10:28 編集

https://teratail.com/help/avoid-asking 「teratailは困っている人の質問を解決するサービスです。そのため、漠然とした興味から票を募るような質問や、意見の主張をすることを目的とした投稿は推奨していません。 何か困っている理由があり、最適解を見つける為の知見を得たい場合は、その理由や何が知りたいのかを明確に記述してください。」 最低限、困っている背景やら、どういう「個人的にはー」というのがどういう論理に基づいた話なのか(見やすいとは誰の視点かとか)、どういう観点でのアドバイスが欲しいのかとか、それなりに読んだ側がガイドラインに照らして「これは質問するに値する内容だな」と思えるぐらいの情報を頑張って書きましょう。
gentaro

2021/06/02 10:29 編集

ちなみに現時点で回答するなら「そんなもんただの決め事だからチーム内で話し合って決めろ」しかないですけど。
guest

回答2

0

ドメイン層のパッケージングは技術駆動で行うのは好ましくないとされています。つまりDomain/{AAA}の{AAA}のところに技術的な名前ではなく対象のドメインに関する名前を付けましょう。Domain/Orderとか。これをDDDではモジュールと呼んでいます。(技術的なモジュールという意味ではありません。ドメインのモジュールという意味です)モジュールに、そのモジュールが機能するための実装を詰め込んでください。ドメインオブジェクトのみならずファクトリやリポジトリも含めます。そのモジュールさえインポートすればOrderが使えればよいという形です。

投稿2021/11/28 00:25

j5ik2o

総合スコア41

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

昔は後者が使われていましたが、現在は前者が常識となっています。
前者の場合、Repositoriesのディレクトリは不要かと思われます。
理由はしらべてみてください。

投稿2021/06/02 13:10

編集2021/06/02 13:13
rysh

総合スコア874

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問