Help us understand the problem. What is going on with this article?

ちょっとずつ読むドメイン駆動設計 第四部 戦略的設計 第十五章 蒸留3 汎用サブドメイン

More than 1 year has passed since last update.

前回までの第十五章

コアドメイン1
コアドメイン2

汎用サブドメイン

補佐役を果たすもので、汎用的な役割だが、システムを機能させて、モデルを完全に表現するためには欠かせないものです。

ほとんどのビジネスで必要になる概念を抽象化したもの。

ただし、このようなモデルは専門的な知識をとらえることなく、複雑さを付け加えるだけの部分もあります。

汎用サブドメインの例としては、組織図や売掛金、経費元帳、財務などの会計モデル、タイムゾーンなどなど。

こうした、プロジェクトにとって動機になっていない、サブドメインをコアドメインと分けて考え、サブドメインの優先度を下げ、コアドメインに開発者を割り当てること。

コアドメインの解決策

  1. 既製品を使う・・・たとえば、認証、認可のモデルにSpringSecurityを使うとか。使うには事前に時間をかけて評価して、理解する必要がありますが、成熟度も高く、使わているので安定しています。
  2. 公表されている設計やモデル・・・アナリシスパターン公表された言語を使用する。
  3. アウトソーシングする・・・ コアドメインを流出させずに発注することが大事ですが、コアドメインに集中できます。ただし、インターフェイスなどの重要な側面についてコアチームが時間を割く必要があります。
  4. 自社で実装する・・・現状はこれが選択されるでしょうとEvansが言っています。それでもコアドメインモデルから切り分けることには価値があります

将来的には、多くの汎用的なモデルがフレームワークや、公表されたモデル・アナリシスパターンとして手に入るようになるでしょうとEvansは予言していますが、実際どうでしょうか?
SpringFrameworkは結構ここに力を入れている気がします。

SpringSecurityではモデルも公開されていますし、開発側が比較的自由にいじることもできますね。

汎用サブドメイン=再利用可能ではない

ここは大事なところですね。再利用性を考慮していては、蒸留のコアドメインに集中するという動機から外れてしまいます。
ただし、

汎用的な概念の範囲内に収めるということに関しては厳格でなければならない(第十五章 より)

ということは注意しておきたいですね。

zozotech
70億人のファッションを技術の力で変えていく
https://tech.zozo.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした