Разница между табличным модулем и скриптом транзакции - PullRequest
3 голосов
/ 16 января 2012

Я не понимаю, в чем разница между этими шаблонами, говорит Мартин Фаулер:

Сценарий транзакции организует бизнес-логику по процедурам, где каждая процедура обрабатывает один запрос из презентации.

и

Table Module один экземпляр, который обрабатывает бизнес-логику для всех строк в таблице или представлении базы данных.

Также

Вы можете организовать свои Сценарии транзакций в классы двумя способами.Наиболее распространенным является наличие нескольких сценариев транзакций в одном классе, где каждый класс определяет предметную область связанных сценариев транзакций.Это просто и лучшая ставка для большинства случаев.Другой способ - создать каждый сценарий транзакции в своем собственном классе (рисунок 9.1), используя шаблон команды [Gang of Four].

Так что я могу сделать это в модуле Table, у меня может быть метод дляКаждый запрос презентации, также я могу использовать DataSet или RecordSet в шаблоне сценария транзакции.Хорошо, как я должен знать, какой шаблон я должен использовать в моей доменной логике?

Ответы [ 2 ]

6 голосов
/ 17 января 2012

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

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

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

Для сценария транзакции вам потребуется только тот, который обновляет обе таблицы.

0 голосов
/ 25 августа 2017

См. Краткое описание возможностей скрипта транзакции на изображении ниже: В котором разные слои и разделение каждого из них являются четкими. И в каждом разделе я приводил текущие и используемые шаблоны.

enter image description here

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