Работа над бизнес-приложением с использованием структуры MVC и бизнес-объекта / DAO архитектура. Для любого обычного бизнес-объекта функции CRUD довольно просты. Но как лучше всего справиться с отношениями родитель-потомок, такими как «Клиент — это пользователь»?
Я знаю, что задействованы следующие классы:
User, UserDAO, Customer, CustomerDAO
Класс Customer
может прекрасно наследоваться от User
, но как лучше отразить это в функциях DAO CRUD?
Users
иCustomers
? Я был бы удивлен. Я бы подумал, что таблицаusers
с полемuser_type
. А то иметь только один ВО т.е.Users
. И еслиuser.isCustomer()
верно, то это клиент. Итак, либо вы не должны использовать две таблицы, либо вы не должны использовать наследование. - person Nishant   schedule 12.02.2011customer_details
и свяжите ее с внешним ключом. Во многих сценариях вы можете захотеть превратить пользователя в клиента. Проще просто изменить тип вместо того, чтобы копировать данные между таблицами, а затем стирать прежние. Только мои 2%. - person Nishant   schedule 13.02.2011