1

次の設計上の問題について共有し、あなたの助けを求めたいと思います:

11列を含むDBテーブルがあります

プログラミング言語でこれらの条件に近づくたびに、

私は質問に行き詰まっています:

「関数に 11 個のパラメーターがなくても、行を挿入する関数を作成するにはどうすればよいですか?」私の問題は、それが悪い設計の問題であることです(1つの関数に多くのパラメーターがあるため)

誰かがこれを再設計する方法を教えてもらえますか? DB スキームを変更する必要がありますか? または、そのままにして、アプリケーションを別の方法で構築することはできますか?

ノート:

同様の質問をたくさん見つけましたが、それらはすべてデータベース自体と列の数に焦点を当てていました。

私が知っている限り、それが同じエンティティである限り、テーブルは多くの列を保持できます。

私は機能自体にもっと関心があります。つまり、DB というクラスとinsertToTable(Params...)という関数がある場合、どうすれば 別の方法で実行できますか?

DBクラスに大きなオブジェクトを1つ送信すると、「低結合高凝集度」に影響しませんか? この巨大なクエリを構築するために、オブジェクトにパラメータを設定し、それを DB クラスに送信し、それらを取得するというのは、ちょっとばかげていると思いませんか?

4

1 に答える 1

0

デフォルト値、更新されるデータなどに基づいて、さまざまな数のパラメーターを受け入れるいくつかの挿入メソッドを作成することを検討できます。

2 つまたは 3 つの列のみを頻繁に更新する場合は、これら 3 つのパラメーターのみを受け入れ、他のすべてを同じに保つ関数を作成しないでください。

はい、すべてのパラメーターを受け入れる 1 つの関数が必要ですが、テーブルを表すクラスを作成し、1 つのパラメーター (そのクラスのオブジェクト) だけを渡すことで対処できます。

于 2013-02-18T16:39:42.510 に答える