skillup

技術ブログ

アーキテクト設計全般

オブジェクト指向 ドメインモデル

投稿日:2017年7月25日 更新日:

本日も引き続き「現場で役立つシステム設計の原則」を読み進めてます。

本日は主にドメインモデルの考え方について。

ドメインモデルの考え方

要点

  • 業務的な関心ごととドメインモデルの結合
  • 分析、設計、実装、それぞれのフェーズでの考え方
  • なるべく具体的で業務に直結したオブジェクトを設計する
  • 大きい単位はパッケージにする
  • 関心ごとはクラスにする
  • 業務フロー図とパッケージ図
  • 業務の関心ごとというのは主にイベント(取引データ系)とリソース(マスタ系)とサマリー系(集計と履歴)
  • 業務上の約束事をメソッドにする
  • 業務関心をメモしていく
  • 業務の言葉とコードを一緒にする
  • ドメインをボトムアップで業務の関心ごとから再構成する

感想

MVCいうとModelにやや近いでしょうか。肥大化するモデルを分割、整理しようというのがドメインモデルのメリットの1つでもあるようです。

リンク先はMVCとドメインモデルの関連に関して。まとまっててわかりやすいなー。私もこれぐらいすっきり説明できるようになりたい。

MVCのモデルを分割する方法

-アーキテクト設計全般

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

event-listenerについて

前回Observeパターンに触れましたが、少し似たパターンとしてevent-listenerを使ったパターンが存在します。 Model(Eloquentのフック)というのが大まかな共通項ですかね。 そ …

no image

オブジェクト指向 アプリケーション間連携(主にWebAPI)

本日も引き続き「現場で役立つシステム設計の原則」を読み進めてます。 本日はプレゼンテーション層、いわゆるMVCのViewにあたる部分。 Contents1 アプリケーション間連携(主にWEBAPIに関 …

no image

抽象性と可読性のトレードオフに関して

私自身プログラムを書く場合、とにかくコードを書く量を制限したいという思いが強く、多少でも共通化できる箇所がある場合はなるべく共通化するようにしておりましたが、時と場合によっては過剰に共通化したことによ …

no image

Facadeパターンについて(Laravelを題材に)

LaravelのFacadeについて自作する機会があったので、メモ。 デザインパターンの一種かと思います。 Contents1 サンプル2 使い所3 メリット4 デメリット5 参考リンク サンプル h …

no image

オブジェクト指向について その2

前回のエントリーのように、データとロジックを一体で考えるのは、処理状の有効性のみならず、よりユーザー側に近い処理をかくということにもつながります。 日付の問題に関してもintやshortよりはLoca …

アーカイブ