タグ

DDDに関するakatakunのブックマーク (4)

  • RailsのControllerにApplicationService相当のロジックを書くのはありなしや? - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く

    誤解を産んでいそうだったので追記します。ここでいうApplicationServiceというのは、いわゆるレイヤードアーキテクチャのアプリケーション層のApplicationServiceレイヤの話です。別の言葉だと、「Usecase層」とか言う言葉で呼ばれたりするアレのことです。追記おしまい。 Railsにおいては、ApplicationService相当のロジックをコントローラーに書いても良いものとする— でもわかるしんぺい入門 (@shinpei0213) June 4, 2019 これについてです。 結論から先にいうと、ぼくは「正しい」と思っています(ただ、自分ではあまりやらず、ApplicationServiceに切り出しちゃいますが、これは好みの問題だと思っています)。 なぜ正しいと思うのか。それを考える際に、まずは「一般的に、なぜControllerとApplication

    RailsのControllerにApplicationService相当のロジックを書くのはありなしや? - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
    akatakun
    akatakun 2019/06/05
    PDSの文脈において、ControllerがPresentationのレイヤーに属すものであり、ApplicationServiceはDomainに属すものである、という理解がまずあるから
  • ドメインサービスとは? - SIS Lab

    ドメインサービスとは?Windows Communication Foundation(WCF), Silverlight周りで出てくるドメインサービスとは一体なにものだろうか。 ドメイン駆動設計(DDD)の文脈から読み解いてみる。 「サービス」と聞くと、粒度の粗いコンポーネント(リモートクライアントから複雑な業務システムを利用できるようにするもの)を想像するかもしれないが、ドメインサービスは違う。 また、アプリケーションサービスも頭に思い浮かぶかもしれないが、それも違う。 アプリケーションサービスには、ビジネスロジックを組み込みたくないが、ドメインサービスにはビジネスロジックを組み込んでおきたい。 時には単純に「物」や「値」にはできないこともある。 ドメインにおける重要なプロセスや変換処理が、エンティティや値オブジェクトの自然な責務でない場合、その操作は、サービスとして宣言される独立した

    ドメインサービスとは? - SIS Lab
    akatakun
    akatakun 2018/04/11
    アプリケーションサービスには、ビジネスロジックを組み込みたくないが、ドメインサービスにはビジネスロジックを組み込んでおきたい
  • DDD超入門(後編) - Domain-Driven Designの適用Step - エンタープライズギークス (Enterprise Geeks)

    前編ではDDDの概要についてふれたが、後編ではDDDの適用Stepを3つのStepに分けて紹介する。 まずStep1として、アプリケーションに登場しうる概念を抽出してドメインモデルで表現する。 次にStep2として、各ドメインの概念を深掘りしてソフトウェアとしてどう表現するかにについて紹介する。 最後にStep3でドメイン部品の仕上げとDDDの恩恵ついてふれていく。 Step1: ドメインモデルによる表現 DDDでは機能やユースケースに加えて、その裏に潜んでいる「概念」を抽出する必要がある。そのため、DDDを導入するにあたってアプリケーションに登場しうる概念を整理した「ドメインモデル」がまず必要となる。全体のコンテキストを整理して、該当のドメインモデルを描くことがDDDの最初の1歩となる。 例として、よくある一般的な受注管理の簡単なドメインモデルをあげる。 「顧客」からある「商品」の「注文

    DDD超入門(後編) - Domain-Driven Designの適用Step - エンタープライズギークス (Enterprise Geeks)
    akatakun
    akatakun 2018/04/11
    ドメインサービスの提供粒度は、アプリケーションサービスの様にそれ単体でユースケースを満たすほど大粒ではなく、そのドメイン固有の知識範囲に特化したサービスとなる
  • 混乱しがちなサービスという概念について - かとじゅんの技術日誌

    社内でサービスがよくわからないという話になったので、考察を少しまとめておきます。 過去のエントリでも以下のように触れましたが、もう少しかみ砕いてみよう。 サービスという言葉はあいまい まず、簡単に前提の整理から。単に"サービス"って言葉が何を指すのか結構曖昧です。 サービスは簡単にいうと手続きとか振る舞いのことですが、細かくいうと、PofEAAでいうサービスと、DDDいうサービスは、目的が異なります。前者はアプリケーションのためにドメインモデルを再利用可能にするためのものです。後者はドメインの知識を表している振る舞いです。これはのちほど詳しく説明します。 まぁこのあたりは具体例がないと理解しがたいですが、レイヤーの違いによって責務が異なるという感じです。DDDのサービスの章では、サービスには、アプリケーション層、ドメイン層、インフラストラクチャ層と、複数のレイヤーに存在すると言及されていま

    混乱しがちなサービスという概念について - かとじゅんの技術日誌
  • 1