skillup

技術ブログ

プログラミング全般

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

投稿日:

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

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

ドメインモデルの考え方

要点

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

感想

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

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

http://hamamuratakuo.hatenablog.com/entry/2016/08/09/220522

-プログラミング全般

執筆者:


comment

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

関連記事

no image

フォームの処理について

本日はフォームの処理に関して。主に一覧検索画面のフォームについてです。 フレームワークでフォームの処理をする場合、変数の初期値やバリデーションなどをあらかじめ読み込むオブジェクトを設定しておき、変数が …

no image

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

今回は場合分けによる変更コストとオブジェクト指向のメリットについてです。 例えば給付金が発生して、その金額を死亡時、退職時、通常時で場合分けするとき、if-elseで書けば下記のようになります。 [c …

no image

ミスを少なくする工夫について

プログラマであればだれもが「いかにバグを少なくするか」に腐心すると思います。 ところが、人間がある以上、バグ(ミス)は絶対にゼロにはなりません。バグ云々以前に、「人間はもともとミスをする生き物だ」とい …

no image

Webの高速化に関して

Webの高速化に関してメモ。 高速化って言っても幅広いんですけどね。自分が行なっている対策に関して。 一応LAMP環境を前提にしてます。 Contents1 一番大事なのは測定2 DB対策3 フロント …

no image

OSコマンドインジェクション

Contents1 OSコマンドインジェクションとは?2 被害3 対策4 参考リンク OSコマンドインジェクションとは? OSに対する命令文を不正に紛れ込ませて攻撃させる手法。 被害 サーバー内のファ …