Книга GoF 1994 года появилась раньше, чем потоки как первоклассная проблема и современная многоуровневая корпоративная архитектура. Шаблоны параллелизма (производитель-потребитель, пул потоков) предназначены для координации работы между потоками; корпоративные шаблоны (репозиторий, DAO, DTO, DI) предназначены для структурирования слоев приложения — оба они важны для серверной работы, несмотря на то, что выходят за рамки исходного каталога.
Пример
publicrecordOrderPlacedEvent(Long orderId, String customerId) {}
@Service@RequiredArgsConstructorpublicclassOrderService {
privatefinal ApplicationEventPublisher publisher;
publicvoidplaceOrder(Order order) {
orderRepository.save(order);
publisher.publishEvent(newOrderPlacedEvent(order.getId(), order.getCustomerId()));
}
}
@ComponentpublicclassOrderConfirmationEmailer {
@EventListenerpublicvoidonOrderPlaced(OrderPlacedEvent event) {
// send confirmation email - OrderService has no idea this listener exists
}
}
Итог
Книга GoF 1994 года появилась раньше, чем потоки как первоклассная проблема и современная многоуровневая корпоративная архитектура.
Почему шаблоны параллелизма и предприятия существуют за пределами и… · Sobeso