Slide 9
Slide 9 text
© DMM
凝集度が高くても変更容易性が低いケース
9
class Util {
// このaddメソッドは機能的凝集の構造
// しかしMoneyクラスに定義されていないので変更容易性は低い
static Money add(Money money1, Money money2) {
if (!money1.currency.equals(money2.currency)) {
throw new IllegalArgumentException("通貨単位が違います。");
}
Money added = new Money();
added.amount = money1.amount + money2.amount;
added.currency = money1.currency;
return added;
}
}
// 金額を表現するクラス
class Money {
int amount; // 金額値
Currency currency; // 通貨単位
}