共通部品をつくるならプロパティ的考えでつくっていったほうがわかりやすいと思う。methodの引数を増やしていくと混乱しないですか。

2021-03-11

てらこりーたです。
2日間、こんなことばっかり考えてます。

部品化、つまりはオブジェクト指向だと思うんです。

とある機能に対して、参照、更新、削除
そんなことができる部品。

とある機能を使うためのクラスを用意する。

そのクラスにはプロパティ値のフィールドがあるけど
それはカプセル化されている(セッター、ゲッター)。

部品を使う側は部品用クラスをインスタンス化して
プロパティ値をセッターを使って設定。

参照、更新、削除にそのインスタンス化したものを
引数で渡すのです。

こうすることにより、
部品に機能追加が発生したとしても
クラスのフィールドを増やすだけであり、
参照、更新、削除のインタフェースは変わらない。

もし部品に追加された機能を使いたいなら
セッターで新しい機能のプロパティ値を設定すればいい。

部品化ってそういうことなんですよね?
インタフェースに引数を増やしていくことじゃない。