!!!どのメソッドをどのクラスに記述するのかの原則は2つだけ 例えば #Aクラス #Bクラス という2つのクラスがある場合、 *両方の属性を参照しながら処理するメソッドはどちらのクラスに実装すべきなのか? というのがこの章でのテーマです。\\ メソッドはパラメータ(引数)を持つので、必要なオブジェクトをパラメータで渡すようにすればどのクラスのメソッドとしても実装できてしまいます。しかしそれでは、 #第三者が保守する時に解りづらい #仕様変更に弱い という状態になりがちです。\\ 保守しづらくなる理由は規則性がないからです。そして仕様変更に弱いのは、パラメータでオブジェクトを不規則に渡してしまうと、変更の影響が思わぬクラスに出てしまうからです。\\ \\ 原則は2つしかありません。 #コンポジット集約のような上下関係がクラスにある場合、必要な属性の最上位に当たるクラスのメソッドとする。 #クラスの関係が対等または並列である場合、第3のクラスを作ってそのメソッドとする。(Mediatorパターンの利用) 順に見ていきましょう。 !!必要な属性の最上位に当たるクラスのメソッドとする この原則は簡単です。受注伝票で考えてみます。\\ 受注伝票は、商品ごとの受注個数と商品単価を明細として持ちます。 この時、ある受注における受注総額を返すメソッドをどのクラスに実装すべきかを検討してみましょう。\\