2012-01-23 3 views
0

У меня есть класс, который представляет один из моих источников данных для чтения и записи. Я начал с кучи основных функций для разговора с базой данных: connect, disconnect, executeQuery, executeNonQuery и т. Д.Должен ли я разбивать большой класс модели данных?

Затем я начал реализовывать публичные функции для чтения и записи по мере необходимости.

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

Поскольку приложение выросло, мне необходимо добавить все больше и больше функций чтения и записи. Этот класс вышел из-под контроля. Должен ли я включать все эти функции чтения и записи в класс модели данных? Есть ли лучший дизайн, который я должен соблюдать?

ответ

2

Как правило, вы хотите разделить проблемы в отдельных классах именно по той причине, что ваш дизайн управляем. В вашем случае я рекомендую вам иметь общий суперкласс с общими методами чтения/записи и создавать отдельные подклассы для чтения/записи определенных данных. Например, у вас будет класс CustomerDao для обработки данных клиента и подобных классов dao (объект доступа к данным) для других объектов.

Смежные вопросы