本日も引き続き「現場で役立つシステム設計の原則」を読み進めてます。本日はプレゼンテーション層、いわゆるMVCのViewにあたる部分。画面ごとにプログラムを組むのではなく、関心ごとでプログラムを組む。しないと複数の画面でコードが重複する例えば詳細画面と登録確認画面は表示するデータの形式は一緒なことが多い。分ける)画面の項目ごとに関心ごとをグルーピングする、あるいは画面自体を別にする。複数ステップ画面(タスクベースのユーザーインターフェイス)。1ページ、1メッセージ(プレゼント一緒!)画面とドメインオブジェクトが対応していないときは、ドメインオブジェクトの設計を見直す絶好のチャンス(関心ごとになっているのか?)。画面とドメインオブジェクトは利用者の関心ごとが一致するはず。画面側のif文の分岐やcssの変更などもドメインオブジェクトの中に格納する。それは関心ごとという枠組みだから。することによりドメインオブジェクトだけを変更対象にすればOK。画面項目のグルーピング近接・・距離の近さは情報の近さ整理・・同じ意味のものは同じラインに。画面項目を情報の意味でグルーピングするというのは、いろんな本でも書かれていたけど、基本ですね。今の業務アプリも特に注文画面にいろんな情報が詰め込まれており、あれもこれもになってしまっている。いうかデザインだけに限らずあらゆる領域で必要になってくる考え方だと思います。画面の分岐による変更ロジックをドメインオブジェクトの中に組み込む、というのは驚き(本書の中でもかかれていますが・・・)。ようはドメインオブジェクト=関心ごとなのだから、すべてドメインオブジェクトの中に入ってくるだろうということらしいんですね。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。本日も引き続き「現場で役立つシステム設計の原則」を読み進めてます。本日は主にクラスの作り方について。...スクラム開発をやってみてアジャイルの定義に関してはエンジニアによって色々なものがあると思われますが、自分の場合一番綺麗に説明されているな・・・と感じたのは以下の記事でも紹介した書籍でした。...event-listenerについて前回Observeパターンに触れましたが、少し似たパターンとしてevent-listenerを使ったパターンが存在します。Model(Eloquentのフック)というのが大まかな共通項ですかね。〜既存のMVCに関して〜今回はアプリケーションのルーター以降のアーキテクチャに関して。MVCなどについて説明したいと思います。...abstract,interface,traitなどについて昔はようわからなかったabstract(継承全般)、interface、traitの使い分けなどについて。