DDD

こんにちは、僕です。 実はチーム内で技術ブログを書きあおうと始まったこの企画なのですが、既に8記事書いているにも関わらず「技術ブログ」としては認められずに困っています。

DDDとは何か

さて、皆さんから「Layered Architectureは理解出来たがDDDが良くわからない」という質問を多く頂きました。 DDDって何だか気になりますよね。そこで早速DDDについて解説してゆきたいと思います。

結論から述べると、DDDとは Domain Driven Designの略だそうです。僕もさっき知りました。 では Domainとは何なのか。皆さんも御存知の通り、google.com, yahoo.co.jp的なアレです。

つまり、これら Domain(ドメイン)をベースに設計(デザイン)すれば DDDは完成です。

DDDの何が良いのか

Domainをベースに設計しているのだから、その設計は世界中で重複することなく独自のものになります。 その代わりに独自ドメインを取るのだからお金も掛かってしまいます。DDDはタダではないのです。

  • DDDは有償である

そこで、DDDの総本山とも言うべきお名前.comに立ち寄ってお安いDomainを探すことから始めましょう。

https://www.onamae.com/

現時点でドメインの登録料を確認すると以下の様になっています。

com: 1160円 jp: 2840円 net: 1160円 biz: 299円 info: 99円 work: 1円 xyz: 30円

DDDは .workドメインが最適

どうやらコスト面から技術選定すると、DDDには workが良い様です。コスト面を疎かにするエンジニアは一流とはいえませんよね。なので DDDには workを用います。

Kotlinの場合は、ドメインを逆さにしたものをパッケージ名にしますので、パッケージ名に取得したドメインを記載します。例えば取得したドメインが xxx.workであればimport work.xxx...形式となります。

結論

結論としては 独自ドメインで始まるパッケージ構成で設計されたシステムが DDD準拠。特に work.xxx...で始まるプログラムはコストを意識した DDD準拠と言えそうです。

では、ごきげんよう