Slide 8
Slide 8 text
© DMM
凝集度が高くても変更容易性が低いケース
8
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; // 通貨単位
}