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

Various Services

Various Services

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

Avatar for Hibariya Hi

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 本のサービスは別物。 • サービスレイヤはドメインロジックとアプリケーションロジックが

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