こんにちは。よろしくお願いします。
###前提・実現したいこと
肥大化したクラスを分割したい。
###発生している問題
例えば、コンビニを題材にクラスを考えてみます。
コンビニでは客、店員、売品、仕入れ、売上高、売上目標、荷物受け取りなど様々な物があります。
なので上記に上げた各クラスを作ります。(客クラス、店クラス等)
私は店員と客が絡む関数を作ろうと思い考えた結果、各オブジェクトをまとめたクラスがあればスッキリするんじゃないかと思いました。
なのでオブジェクトを統括するクラスを作成してその中にListを作成。
上記に上げた各オブジェクトを生成したら直ぐにそのListに追加するようにしました。
その結果店員と客が絡む関数を作りたかったら引数にListで保持した店員オブジェクトと客オブジェクトを引数にして関数を定義してあげれば簡単にオブジェクト同士が絡む処理を作れるようになったので楽しく幸せにプログラミングをできていたのですが、いつの間にかListの長さが10個以上になり、4っつ以上の要素が絡むような関数を作らないといけなくなりました。
さすがに4っつも絡むと引数も4っつになり、処理の内容も増えて可読性が落ちるかなぁと思い、関数を2つずつに分けようと思ったのですが、その結果仕方がないことですが関数が増えてしまい、ソースコードの量が増えてしまいました。
このままオブジェクトが増え続けると、いつかこのオブジェクトを統括したクラスが色々なオブジェクトを管理した行数の多い読むのがめんどくさいコードになる気がするのでこれどうすればいいかなぁと考えたのですが、なかなかいい方法が思い浮かばないのでなんか良いやり方があるのであれば教えて頂けると助かります。
よろしくお願いします。
それでもしこのような問題にヒットするようなサイトがあれば教えてくれると助かります。
回答2件
あなたの回答
tips
プレビュー