Должен ли я создать модель классов на основе структуры данных в базе данных? - PullRequest
0 голосов
/ 01 марта 2011

У меня есть предопределенные таблицы в базе данных, на основе которых я должен разработать веб-приложение.

Должен ли я основывать свои классы моделей на структуре данных в таблицах.

Но проблема в том, что таблицы очень плохо определены и в них много избыточных данных (которые я не могу изменить!).

Например. в 2 таблицах три столбца одинаковы.

Table: Student_details
Student_id , Name, AGe, Class ,School

Table :Student_address

Student_id,Name,Age, Street1,Street2,City

Ответы [ 2 ]

0 голосов
/ 02 марта 2011

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

Я бы поддержал jsobo, рекомендовав вам создавать свою бизнес-логику независимо от базового механизма персистентности и стараться сохранять ваши модели максимально сфокусированными на предметной области, не слишком акцентируя внимание на том, как база данных оказываетсяструктурированный.

Однако вы должны планировать тратить определенное количество времени на преобразование ваших моделей предметной области в их соответствующие представления данных и на решение любых проблем, которые навязывает модель данных.Я настоятельно рекомендую поместить все эти вещи в отдельный слой перевода - не засоряйте его в остальной части приложения.

0 голосов
/ 01 марта 2011

Я думаю, вы должны создавать свои модели так, чтобы они лучше подходили для их использования. Не беспокойтесь о том, как хранятся данные или где они хранятся ... в противном случае зачем переходить на многоуровневую обработку кода. Почему бы просто не сделать прямой запрос БД прямо на ваш взгляд? Поэтому, если вы собираетесь создать абстракцию своих данных ... "модель" ... создайте ту, которая разработана с учетом того, как она будет использоваться ... а не как она будет или сохраняется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...