Нужны устойчивое общее ядро, явные точки настройки и расширения, а не ветка кода под каждого клиента. При этом универсальность должна опираться на повторяющиеся требования, а не на абстракции заранее.
Какой подход к архитектуре нужен для универсального рыночного продукта, а не решения под одного заказчика?
Нужны устойчивое общее ядро, явные точки настройки и расширения, а не ветка кода под каждого клиента. При этом универсальность должна опираться на повторяющиеся требования, а не на абстракции заранее.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Нужны устойчивое общее ядро, явные точки настройки и расширения, а не ветка кода под каждого клиента. При этом универсальность должна опираться на повторяющиеся требования, а не на абстракции заранее.
Разделите продуктовые возможности и особенности заказчиков, определите конфигурацию, версии контрактов и изоляцию tenant-данных. Продумайте миграции, наблюдаемость, поддержку и безопасное включение функций. Не превращайте каждую просьбу в глобальную опцию: оценивайте, полезна ли она целевому рынку. Модульный монолит может быть достаточен; микросервисы не являются обязательным признаком рыночного продукта.