1

DB に保存される永続オブジェクトがあります (挿入、更新、削除)。このロジックを 1 つのメソッドに結合する方が良いですか? 保存するか、結合のために 3 つの別々のメソッドを用意しますか?

4

3 に答える 3

1

それらを単一のメソッドに結合するべきではありません。単一の責任の原則(私自身の経験から、クラスの設計だけでなくメソッドの設計にも適用されることがわかりました) に違反し、循環的な複雑さが増し、テストの労力が増加するためです。

同じ理由で、これら 3 つのメソッドを持つその目的専用のクラスが必要になるでしょう。

結束に関しては、(あなたの場合のように)関連してクラ​​スに配置された3つの別々のメソッドは、良好な結束を保ちますが、他のクラス設計の原則にも留意してください。

于 2011-05-02T23:57:40.743 に答える
0

私の好みは、パブリックな Save メソッドを 1 つ用意し、その関数で必要に応じて Insert、Update、または Delete メソッドを呼び出すことです。これらのメソッドは、設計に合わせて保護または非公開にすることができます。

[編集]: 私はおそらくそのコードをモデル クラスに入れず、独自のリポジトリ クラスに移動することを追加する必要があります。モデル クラスを非常にシンプルに保つことで、設計の柔軟性が最大になることがわかりました。

于 2011-05-02T23:55:30.743 に答える
0

これは本当に種類によって異なります。一般的に言えば、私は削除を別々に保ち、更新/挿入には単一の方法を好む傾向があります。

于 2011-05-02T23:41:59.670 に答える