プロパティとメソッドが定義された顧客クラスがあります。現在、顧客に関連するあらゆるタイプのタスクのメソッドが含まれています。たとえば、メソッド「InsertOrUpdateCustomer」が含まれています。このメソッドは、新しい顧客レコードをデータベースに挿入するか、既存の顧客レコードの編集を容易にします。
このクラスには、顧客フィールドのいくつかの検証メソッドも含まれています。
それは良い方法ではないと思います。私はこのようにそれをいくらか壊したい:
interface ICustomer
{
string CustomerName;
date FinancialYearStartDate;
date FinancialYearEndDate;
string TaxNo;
string Address;
}
このインターフェイスを別のクラスに実装したい、たとえば顧客:
class Customers: ICustomer
{
// Properties
CustomerName { get; set; }
FinancialYearStartDate { get; set; }
FinancialYearEndDate { get; set; }
TaxNo { get; set; }
Address { get; set; }
// Constructor
}
私は知りたいです:
新しい顧客を挿入または更新するためのメソッドをどこに追加しますか? 別のクラスを作成するか、上記のクラスにメソッドを追加する必要がありますか?
上記の方法で古い単一クラスを壊すことは有益ですか? 上記のコードでインターフェイスにはどのような利点がありますか?
検証メソッドを削除し、代わりに検証フレームワークを使用したいと考えています。検証を行う別のクラス「CustomerValidations」を作成する必要がありますか、それとも上記のクラス自体を使用する必要がありますか?