タグ

ドメインモデルに関するstockedgeのブックマーク (4)

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

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

    混乱しがちなサービスという概念について - かとじゅんの技術日誌
    stockedge
    stockedge 2017/03/13
    “ドメインモデルはユビキタス言語に即した表現を行うのが責務なので永続化は責務対象外としている”
  • ドメインモデル貧血症 - Strategic Choice

    Anemic Domain Modelどういうこと?マーチン・ファウラーさんの著書「エンタープライズ・アプリケーション・アーキテクチャ・パターン」で紹介されている、「ドメインモデル」パターンを使用した場合の、「アンチ」パターンです。来のドメインモデルは、「対象となるビジネスエリアをモデル化したオブジェクトのレイヤ全体を挿入する」ということです。モデル化したオブジェクトは、オブジェクト指向設計の基概念通り、データとプロセスを結合し、対象となるデータと関係しているプロセスを集積します。ドメインモデル貧血症は、一見、物のドメインモデルに見えます。オブジェクトがいくつかあり、それらはドメイン空間にある名詞から名前をつけられています。オブジェクト同士がしっかりとしたリレーションで結びついており、物のドメインモデルと同じような構造を持っているのです。ただし、それらのオブジェクトにはわずかな振る

    stockedge
    stockedge 2017/03/13
    “ドメインモデル貧血症とは、単なる手続き型設計のこと”
  • Scalaコードでわかった気になるDDD | GREE Engineering

    みなさん、こんにちは。グリーのかとじゅん(@j5ik2o)です。 このエントリは GREE Advent Calendar 2013 の 18日目の記事です。よろしくお願いします。 私がグリーに入社してやっていることは、プログラミング言語 Scalaとドメイン駆動設計(以下、DDD)の布教活動です。布教活動といっても宣伝するだけでは具体性に欠けるので、実際に開発チームに入ってScalaやDDDの技術支援を行っています。エントリでは、Scalaを用いたDDDの設計と実装をどのように行っているかを、DDDを知らない人でもできるだけわかりやすく説明したいと思います(Scalaわかっていると読みやすいですが、あんまり複雑なコードは出てこないのでなんとなく読めるのではないかと思います)。なお、DDDの実践例は他にもあります。一例だと思って読んでいただければ幸いです(先日のSNSチームでのドメイン駆

    Scalaコードでわかった気になるDDD | GREE Engineering
    stockedge
    stockedge 2017/03/12
    “CoCを強制するフレームワークとは相性が悪い”“ScalikeJDBCやTrinityのようにモデルに対する制約が緩いフレームワークを採用する”
  • UMLを描こう – Vol.3 ドメインモデル図

    プロジェクトの初期段階において最も重要なのは、 システムが取り扱う「もの」の概念について、チーム内で共通認識を築くことです。 これを怠りなんとなく実装を進めてしまうと、後半になって、 Aさん「あれ?この言葉ってこういう意味じゃないの?」 Bさん「え?そうじゃないよ。もしかして認識ずれてた?・・・」 ↓ 認識ズレ発覚!といった状況が発生することでしょう。 そこで、プロジェクト開始時にドメインモデル図を描くことで、 主要な「もの」の概念についてチーム内で共通認識を固めることができます。 ドメインモデル図とは、ユーザの視点で見た、システムに登場する「もの」の概念(ドメインクラス)を集めた図です。プロジェクトの用語集をクラス図風に表現した図ということにもなります。ドメインモデル図は自然言語で構成するため、要件定義や仕様の把握に有効です。 ここでは、ICONIX Process(ユースケース駆動型の

    UMLを描こう – Vol.3 ドメインモデル図
    stockedge
    stockedge 2017/03/11
    “プロジェクトの用語集をクラス図風に表現した図”
  • 1