2013-11-20 6 views
2

Я имею в виду, жидкими классами, как с Attribute.java
Использование конкретных классов или жидких классов атрибутов

String name; 
Object Value; 
Long entityId; 

И реализации User.java как:

Set<Attribute> attributes; 
Long id; 

или бетонную реализации классов User.java

String realName; 
String displayedName; 
Int score;  
Long id; 

Какой из них эффективен по концепциям баз данных и концепциям ООП?

ответ

3

Это зависит от проблемы, которую вы пытаетесь решить.

Если вы собираетесь использовать жидкий подход (Entity–attribute–value_model) по такой проблеме, как logging other entities changes, это будет хороший подход.
Если подходы к EVA будут применяться к реляционной модели данных, то JOINs являются неотъемлемой частью запросов, использование EVA будет анти-шаблоном.

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