指向

データとそれを操作するメソッドは同じクラスにまとめる

■データを表現するデータクラスには、そのデータに対する処理(値変更) を行うメソッドもセットで持つべき。 ・データとメソッドが別クラスにあるのは、低凝集。 ・このクラスのデータを変更するときは、必ずこのクラスで行われる と整理されていれば(高凝…

ファクトリメソッド

■クラスのコンストラクタは、なるべくそのクラス自身だけが 参照できることが望ましい。 ・メソッドやプロパティも同様だが、無暗に公開すべきではない。 ・特に引数を持つコンストラクタの場合、色んな場所で色んな引数で 初期化されることは、メンテナンス…

変数や引数は、基本的に不変(イミュータブル)にする

■インスタンス変数、プロパティや、メソッドの引数は、一度値をセットしたら 変更すべきではない。(引数の場合は、呼び出し元から渡された値 を変えるべきではない。 副作用を防ぐ為。 ■readonly readonly修飾子をつけ定義した変数は、コストラクタでのみ …

getter/setterを使うなとは

単純に絶対にgetter/setterを設けるなということではなく、 必要な情報を持つクラス自体に必要な処理をさせ、メソッド経由でその値を受けるべき。getterを呼び出すような処理を実装している場合、その処理は本来呼び出されるクラス側で実装されるべきだとい…