Этапы архитектуры программы - PullRequest
0 голосов
/ 11 ноября 2009

Что является первым шагом в архитектуре программы, архитектуре базы данных или структуры классов?

Ответы [ 5 ]

3 голосов
/ 11 ноября 2009

Сбор требований. Для архитектуры Нефункциональные требования часто более важны, чем функциональные.

1 голос
/ 11 ноября 2009

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

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

  • Обычно для большинства "бизнес-ориентированных" приложений думают о реальных бизнес-объектах , затем его абстракциях как классах его концептуализации как базе данных коллекции таблиц связи. Если вы классный дизайн относительно хорошо, классы и таблицы базы данных не должны сильно отличаться.
  • Если у вас есть «информационная проблема», как в экспертной системе или при извлечении данных, то сначала перейдите к базе данных.
1 голос
/ 11 ноября 2009

Я бы сказал, "с чем вам удобно".

Если вы используете реляционную модель, вам все равно придется преодолеть разрыв с миром OO (например, используя ORM).

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

Методология также очень важна для рассмотрения. Гибкий подход и TDD лучше справились бы с интенсивными изменениями в схеме, поэтому вы можете с легкостью вернуться назад и добавить / удалить таблицы, поля (или классы) и использовать обе стратегии, когда захотите.

0 голосов
/ 11 ноября 2009

Делайте и то и другое одновременно, шаг за шагом. Не пытайтесь выполнить одно из этих действий на 100%, прежде чем взглянуть на другое.

Причина в том, что между объектами и базами данных нет сопоставления 1: 1. Например, очень легко создавать деревья объектов. У большинства сред ORM есть серьезные проблемы, когда дело доходит до сопоставления с базой данных. Кроме того, зачастую невозможно перестроить обработку транзакций в существующее приложение без переписывания всего кода.

Начиная с отличной модели БД, вы можете оказаться в ситуации, когда неясно, как вы можете представить это с помощью объектной модели. Проблемы с БД попадут в вашу объектную модель.

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

0 голосов
/ 11 ноября 2009

База данных или (постоянные) классы - лишь малая часть программного обеспечения ...

Обычно люди выбирают технологию, которую они знают лучше (SQL или код), и определяют другую в соответствии с этим.

Следует рассмотреть использование ORM.

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