2012-01-23 8 views
0

私は、読んだり書いたりする私のデータソースの一つを表すクラスを持っています。私は、データベースとの会話のための基本的な機能、すなわちconnect、disconnect、executeQuery、executeNonQueryなどから始めました。その後、必要に応じて読み書きのためのパブリック関数を実装するようになりました。大きなデータモデルクラスを分割する必要がありますか?

public function getCustomer() as Customer 
public function writeCustomer(cust as Customer) as Boolean 
....... 

アプリケーションが成長するにつれ、私はこれらのリーダー機能とライター機能をますます追加する必要があります。このクラスは制御不能になりました。私はこれらのすべての読み書き機能をデータモデルクラスに含めるべきですか?私は次のより良いデザインパターンがありますか?

答えて

2

通常、デザインを管理しやすくする理由から、別のクラスの懸念事項を分離する必要があります。あなたの場合は、一般的な読み取り/書き込みメソッドで共通のスーパークラスを持ち、特定のデータを読み書きするために別個のサブクラスを作成することをお勧めします。たとえば、顧客データと他のオブジェクトの同様のDAO(データアクセスオブジェクト)クラスを扱うには、クラスCustomerDaoが必要です。

関連する問題