Я працюю над проектом, в якому ми намагаємось застосувати як орієнтований на домен дизайн, так і REST до архітектури, орієнтованої на сервіс. Ми не турбуємось про 100% відповідність REST; можливо, було б краще сказати, що ми намагаємося побудувати орієнтовані на ресурси HTTP API (~ рівень 2 моделі зрілості Річардсона REST). Тим не менш, ми намагаємося триматися подалі від використання RPC-стилю HTTP запитів, тобто ми намагаємося реалізувати наші HTTP дієслова в відповідно до RFC2616 , а не використовувати , POST
щоб зробити IsPostalAddressValid(...)
, наприклад.
Однак акцент на цьому здається за рахунок нашої спроби застосувати дизайн, керований доменом. Тільки з GET
, POST
, PUT
, DELETE
і кілька інших рідко використовуваними методами, ми схильні будувати Cruddy послуги, а також послуги Cruddy , як правило, мають анемію моделі предметної області.
POST
: Отримати дані, перевірити їх, скинути їх до даних. GET
: Отримайте дані, поверніть їх. Тут немає реальної логіки бізнесу. Ми також використовуємо повідомлення (події) між службами, і мені здається, що більшість бізнес-логіки в кінцевому підсумку будується навколо цього.
Чи REST і DDD є напруженими на якомусь рівні? (Або я щось тут не розумію? Чи ми можемо зробити щось інше не так?) Чи можливо побудувати міцну модель домену в архітектурі, орієнтованій на сервіс, уникаючи HTTP-дзвінків у стилі RPC?