Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Various Services

Various Services

Martin Fowler の PofEAA や Eric Evans の Domain-Driven Design に登場する “サービス” と呼ばれるものたちについて整理し、然るべきタイミングで活用したいというモチベーションで調べた内容。

Hibariya Hi

May 18, 2017
Tweet

More Decks by Hibariya Hi

Other Decks in Technology

Transcript

  1. TIL

  2. モチベーション Martin Fowler の PofEAA や Eric Evans の Domain-Driven

    Design に登場する “サービス” と呼ばれるものたちについて整理 し、然るべきタイミングで活用したい。ある日突然 XXService にエ ンカウントしたときに向き合えるようにしておきたい。
  3. TL;DR • サービスには色々ある。 • PofEAA のサービスレイヤと DDD 本のサービスは別物。 • サービスレイヤはドメインロジックとアプリケーションロジックが

    混ざらないようにするための層。 • ドメインサービスは既存のオブジェクトに属せない操作をサー ビスというかたちでドメイン層に定義したもの。 • 導入にはトレードオフがある。
  4. ドメインロジックを守るレイヤ “... But putting application logic into pure domain object

    classes has a couple of undesirable consequences. First, domain object classes are less reusable across applications if they implement application-specific logic and depend on application-specific packages. ...” PofEAA p.134 “How It Works”
  5. TL;DR • サービスには色々ある。 • PofEAA のサービスレイヤと DDD 本のサービスは別物。 • サービスレイヤはドメインロジックとアプリケーションロジックが

    混ざらないようにするための層。 • ドメインサービスは既存のオブジェクトに属せない操作をサー ビスというかたちでドメイン層に定義したもの。 • 導入にはトレードオフがある。