Бизнес-модель + База данных Mapper + Joins - PullRequest
2 голосов
/ 17 мая 2011

Я изучаю бизнес-модели и UML.Я читал, что «Модель» - это серия «Бизнес-объектов».

Из того, что я понял, моделью будет «Блог», тогда как бизнес-объектами могут быть «Пост» и «Комментарий».«Блог» решает, какие объекты использовать и как они должны сохраняться с помощью соответствующих средств отображения.

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

Issue # 1 - В Joomla модели, по-видимому, представляют собой единый «бизнес-объект» (в отличие от координации нескольких бизнес-объектов и картографов).Принимает ли Joomla другой подход к моделям?

Проблема № 2 - Допустимо ли для объектов 'Mapper' выполнять левые объединения в запросах?Или должна ли логика такого рода быть перенесена на уровень «Служба»?

Кажется наиболее логичным использовать возможности левого соединения базы данных, но я не могу понять, как это вписывается в (Mapper + BusinessObject + Model +Сервис) дизайн.

Ответы [ 2 ]

1 голос
/ 17 мая 2011

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

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

Вы все еще можете использовать AndroMDA и создавать постоянные слои с помощью генератора кода, но я думаю, что этот подход теперь мертв при использовании кода Java.

Как это работает. Вы моделируете диаграммы классов для создания статического объекта (например, пакетов, классов, интерфейса, перечисления и т. Д.) Ваших приложений в диаграмме классов. Затем вы добавляете стереотипы постоянства, которые сразу же создадут Java-аннотации в вашем коде. Наконец, для создания вашей базы данных вам нужно всего лишь использовать Hibernate mapper, который примет входной код Java и сгенерирует базу данных. На этапе развертывания вам нужно будет кодировать непосредственно в коде sql запросов, связанных с вашей базой данных, но это самая последняя и, как правило, не критическая разработка, которую можно выполнить в оффшорной стране

1 голос
/ 17 мая 2011

Во многих фреймворках и приложениях вы обнаружите, что Model = Business Object и что часто Mapper интегрируется в некую единственную базовую модель, которую расширяют все остальные. Вы также обнаружите, что многим из них не хватает четко определенного уровня обслуживания.

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

Однако в большинстве случаев я использую ORM, который обычно реализует Active Record, так что нет реальной изоляции картографа как такового с точки зрения того, как вы его описываете, а затем, как правило, работает так, как я описал выше в моем первом абзаце. .

Также Joomla, вероятно, не лучшее приложение для изучения этих концепций. На самом деле большинство PHP-приложений, подобных этому, не очень хорошие примеры, будь то Joomla, PHPBB, Drupal или другие: -)

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