Вы думаете о базе данных или объектах в первую очередь при создании приложений? - PullRequest
4 голосов
/ 29 апреля 2009

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

Я задавал другие вопросы Hibernate и NHibernate, но я пытаюсь закрепить его. Я склонен сначала думать о приложениях с базами данных со стороны базы данных, а затем думать о приложении. После прочтения многого о Hibernate кажется, что те, кто использует Hibernate, думают иначе. Кажется, они думают об объектах и ​​классах. Они делают полную противоположность мне.

И в контексте Hibernate. Если я сначала склонен думать о стороне базы данных, это «плохой» или «неправильный» образ мыслей при запуске? Мне удалось найти лишь несколько последовательных причин для использования Hibernate или другого ORM - производительность, независимость от базы данных, и это зависит от этого. Я хочу использовать Hibernate, но я хочу подойти к нему правильно. Кажется, это совсем другой способ мышления, а не просто производительность и выбор баз данных.

Связанный:

Что важнее? Дизайн БД или кодирование? .

Ответы [ 12 ]

0 голосов
/ 29 апреля 2009

Я стараюсь избегать реляционных баз данных. Gemstone, Prevayler, Magma позволяют мне обходиться без OO. Дизайн, управляемый доменом, также фокусируется на объектах, а не на постоянстве.

В большинстве областей имеет смысл сначала думать о поведении и взаимодействии, а не о полях.

Одна из проблем с запуском db-centric заключается в том, что сложно создавать правильные абстракции. Модели, как правило, остаются слишком плоскими.

0 голосов
/ 29 апреля 2009

Я предпочитаю сначала думать об объектах.

Объекты являются основной частью поведения вашего приложения и будут влиять на то, как ваши конечные пользователи работают с вашим сайтом / приложением, как будет работать логика и т. Д. Получение правильной объектной модели - ключ к правильной работе вашего проекта .

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

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

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