Каковы преимущества / недостатки каждого метода?
Я знаю, что читал где-нибудь в книге или на этом сайте, почему использование наследования таблиц является дрянным для Entity Framework 4.
Например, почему бы не создать одну таблицу, у которой есть entityId, datecreated, datemodified, а затем все другие классы наследуют это в рамках Entity Framework?Тогда мои таблицы для всех других объектов не должны иметь эти столбцы.Тогда я могу сделать так, чтобы класс person унаследовал этот базовый класс, а затем конкретный человек унаследовал person.
Я не уверен в преимуществах этого, за исключением написания меньшего сценария SQL для создания базы данных ...
Недостатки, которые я вижу, заключаются в том, что это делает запрос / просмотр данных непосредственно в SQL большой болью в заднице (вся соответствующая информация разбита на множество таблиц), и я также спросил моего друга, который сказал:
"Самым большим преимуществом для меня является тот факт, что я не хочу, чтобы моя база данных полагалась на текущую структуру наследования моего приложения. Если по какой-либо причине я хотел изменить дизайнмоего приложения с точки зрения наследования, это не будет иметь значения, потому что мои данные не будут зависеть от моей текущей конструкции системы. Я думаю, что хранение данных - это просто хранение. База данных нормализована в соответствии с правильным дизайном базы данных, нонаследование - это программный выбор разработки приложений, а не хранения данных.помешает мне использовать его.Наследование - это очень сложная вещь для правильной разработки приложения.гораздо проще изменить код приложения, чем изменить и перенести данные базы данных, когда большинство менее опытных разработчиков подходят к проблеме, к которой они обращаются с наследованием.Я тоже, когда я только начал развиваться.это логично, имеет смысл.однако после долгого развития вы узнаете, что делегирование - действительно лучший способ (сервисы, вызывающие сервисы в случае soa), и что специализированные сервисы обеспечивают намного большее повторное использование, чем наследование. "
Что также имеет смысл для меня.
Итак
1) В общем, каковы плюсы / минусы наследования против расширения
2) В моем конкретном примере выше, что быбыть более подходящим?
3) Если мой пример дрянной для одного или обоих, каков хороший пример использования наследования и расширения?
Я использовал оба раньше, но я далек отопытный, я до сих пор не уверен, как справиться со всеми ситуациями.
10 Голосов: 8, более 100 просмотров, и никто не может расширяться? = (.