[戻る]

Java読書会BOF「セキュア・バイ・デザイン」を読む会 第2回

開催概要

日時

2022年8月20日 10:00 - 17:00

場所

川崎市教育文化会館 第3会議室

出席者(敬称略)

今井、石黒、平山、吉本、根本、加藤、遠藤、高橋(智)、高橋(徹)

  • 本日は、「セキュア・バイ・デザイン 安全なソフトウェア設計」のp.63、 2.3 深いモデリングから読み始めます。

第1部 導入編

第2章 ちょっと休憩:「ハムレット」の悲劇

2.3 深いモデリング(deep modeling)

  • p.63 注6 「ドメイン駆動設計」...この本を読むこと、そして、できれば何回か読み返すことを推奨しています。

    • 意見:この本は読むのが難しい、抽象度が高いため。

  • 【誤植】p.64上11 「Dave氏」→「Deve氏」

  • p.64 「白鯨」は、ハーマン・メルヴィル著の古典小説、エイハブ船長の鯨への復讐劇

  • p.66 コード (0 < quantityOfBooks) の書き方(並び順)は読みにくくないか?

    • 意見:数直線上の並び順だが、左辺は判定対象、右辺は判定の規格値にしたい

  • p.66 isTrue(boolean, String)ってどのライブラリ?

    • apache commons lang3 にはBooleanUtilsがありisTrueがあるが、引数はbooleanのみ

第2部 基礎編

第3章 ドメイン駆動設計の中核をなすコンセプト

3.2 モデルをコードで表現するための構成要素

  • p.105 図3.14 左側の「顧客情報」は値オブジェクトなのか?

    • p.105下5「右側のモデルでは、値オブジェクトの属性をさらにモデリング」と記述があるので、値オブジェクトであると判断する

  • p.106 どこまで値オブジェクトにするのか?

    • 単位系が異なるもの、同じ単位でも最小単位(LSB)が円、千円など違うものは分けるか?

    • これはユーザーインタフェースの問題で、ドメインモデルで対処できないのではないか?

    • 住所はモデリングが非常に難しい。例えば京都では郵便物は正式な住所でなく通り名+αで表現しても届く

  • 3章を通して、前の章で問題になった不正がどう解決されたのかは明示されていない。経理と出荷とでコンテキストを分けたことで解決したのか?

第4章 安全性を確立する実装テクニック

4.1 不変性(immutability)

本日は、p.129 Customerクラスの設計の前まで読みました。次回は、p.129 4.1.1項の Customerクラスの設計からです。

[戻る]