3
       Customer cust = new Customer();
       cust.RecId = lblRecId.Text;
       cust.CustCd = txtCustCd.Text;
       cust.CustName = txtCustName.Text;
       cust.Save();

また

cust.SaveRecord(lblRecId.Text , txtCustCd.Text, txtCustName.Text)

どちらも同じ仕事をしていますが、実際にはどちらが優れていますか?私とリードは実際にこれについて議論しています。私は任意の順序で値を自由に割り当てることができるので、トップの方法を使用していますが、彼はボトム1の方が良いと主張していますか?実際に何を検索すればよいかわかりません。これに関するガイドラインを教えてください。

4

2 に答える 2

2

最初のアプローチは、顧客クラスの顧客のすべてのデータがすでにある場合に最適です。データを含む顧客クラスがない場合は、2番目のアプローチの方が適しています。

最初のアプローチを使用することがよくありますが、特定のキーを使用して顧客を取得するための静的メソッドもいくつかあります。

 // A static method in Customer class.
 public static Customer Get(string key)
 {
     Customer customer;
     FCustomers.TryGetValue(key, out customer);
     return customer;
 }

これには、すべての顧客をメモリにロードする静的コンストラクタと、データベースから顧客を作成、保存、および削除するためのメソッドが付属しています。

これは、常に必要なデータにのみ関係するため、お客様がそのようなデータであるとは思いません。

于 2012-12-26T10:17:02.470 に答える
2

最初のものははるかに優れたアプローチです。しかし、それは個人的な見解です。

Saveオブジェクトの現在の状態を保持する必要があります。状態は、プログラムの他の部分で更新できます。

ただし、オーバーロードするSaveことも悪い考えではありません。しかし、いいえとして。フィールドの数が増えると、後者のバージョンはかさばり、保守できなくなります。

于 2012-12-26T09:58:00.957 に答える