2012-01-18 3 views
1

Каков наилучший способ управления службами домена? Например: в финансовой области, Должен ли я иметь глобальную услугу «AccountCreation» или «CheckingAccountCreation», «CreditcardAccountreation» и т. Д.сервисная гранулярность

Я борюсь за сохранение их на глобальном уровне или сохранение их на уровне продукта. Каков наилучший подход?

ответ

2

Прежде всего, вы должны сосредоточиться на данных: какие данные есть и какие данные должны оставаться согласованными. Затем сосредоточьтесь на том, что такое поведение вокруг этих данных.

В финансовой области, я должен иметь глобальный сервис «AccountCreation» или «CheckingAccountCreation», «CreditcardAccountreation» и т.д.

В этом примере, я бы сказал, что у вас есть «счет» потому что у вас явно есть некоторые учетные записи, и вы, вероятно, должны убедиться, что, например, вы не дублируете номера счетов, применяете правила борьбы с мошенничеством, управляете процессом создания и т. д.

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

Если вы добавите услугу «клиент», которая будет отличной от службы счетов: она не обязательно должна соответствовать службе учетной записи, просто чтобы иметь ссылку со счетов клиентам по ID.

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

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

+0

+1 к этому ответу. Сосредоточьтесь на данных. Поместите данные, которые должны быть согласованными с транзакциями. После того, как вы сделаете этот анализ и объедините эти ведра данных, ваши службы покажут себя. – Dan

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