Несколько типов пользователей - наследование или состав? - PullRequest
0 голосов
/ 23 сентября 2011

У меня есть два «типа» Аккаунтов на моем сайте, с ОЧЕНЬ разными функциями и несколькими полями между ними.Однако эти два типа совместно используют одну и ту же таблицу полей «основной учетной записи».

Лучше ли в этом случае использовать схему наследования, в которой Пользователь и Компания являются просто дочерними элементами Учетной записи или лучшеиспользовать композиционный дизайн, где в учетной записи может быть объект «пользователь» или «компания» (каждый со своей функциональностью)?

Примечание. Таблица «Учетная запись» содержит основной идентификатор, который соединяет всетипы вместе, и, следовательно, это способ, которым я на самом деле выведу каждого пользователя или компанию.

ТАКЖЕ

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

1 Ответ

2 голосов
/ 23 сентября 2011

Если «Пользователь» и «Компания» являются своего рода «Учетной записью» (например, UserAccount и CompanyAccount), то используйте наследование.

Если, с другой стороны, Пользователь и Компания являются различными сущностями, которые происходят симеть учетную запись, затем использовать состав.

...