「現場で役立つシステム設計の原則」を読んで - その2
「現場で役立つシステム設計の原則」を読んで - ソースコードから理解する技術-UnderSourceCode
前回の記事の続きとなります。
こちらの本を読み終えました。
最後まで読んだ感想としては、オブジェクト指向やドメイン駆動開発を如何に実践的に使うかについて
非常に分かりやすく書かれていると思います。
前回にも書きましたが非常に読みやすい本だと思うので、気になる方は本書を読んでみることをお勧めします。
以下、前回からの続きのチラシの裏書レベルのメモ書きです。
- データベースについて
- テーブルを分けることで、全てのカラムをNot Nullにする。
- 「記録のタイミングが異なるデータはテーブルを分ける」
- 取り消し、更新もすべてInsertで表現する。
- 「コト」を記録する(Insertする)テーブルと、状態を保持するテーブルを分ける。
- 「コト」を記録は即時、状態は非同期も検討。
- 画面について
- 内容ごとに画面を分けることを推奨しているが、特に受託開発などで「大きな」管理画面を作る必要が出たときはどうするのだろうか?
- 「内部の設計はタスクベースに分けておくべき」
- とはいえ画面を「タスクベースに分ける」のが今後の主流となることについては同意である。
- 「画面はドメインオブジェクトを視覚的に表現したもの」
- パッケージ内の配置や、クラス内の変数の位置まで、画面の表示位置と一致させるべき。
- 内容ごとに画面を分けることを推奨しているが、特に受託開発などで「大きな」管理画面を作る必要が出たときはどうするのだろうか?
- APIについて
- CHAPTER9
- CHAPTER10
- オブジェクト指向の学び方について書かれている。
- 「リファクタリング」が参考書として奨められている。
- 「ThoughtWorksアンソロジー」の9つのルールが取り上げられている。
私が今回写経・改変したプログラムは以下となります。
GitHub - SrcHndWng/learningPrinciplesSystemArchitecture