en.wikipedia.org/wiki/NoSQL

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

В качестве очень упрощенного примера: Считайте, что «Автомобиль» является бизнес-субъектом в системе, и поэтому имеет 4 ключевых атрибута, т. Е. Номер автомобиля, год выпуска, цена и цвет.

Возможно, что один из клиентов, использующих систему, добавляет в Automobile еще 2 атрибута, а именно ChassisNumber и EngineCapacity. Этот клиент нуждается в некоторой бизнес-логике, связанной с этими полями, чтобы проверить, что тот же номер chassisNumber не существует в системе при добавлении нового Automobile.

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

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

Ключевые вопросы

Существуют ли какие-либо общие принципы / паттерны ОО, которые помогли бы мне заняться этим видом дизайна?

Я уверен, что люди, которые работали над общими / упакованными продуктами, столкнулись бы с подобными сценариями в большинстве из них. Любые советы / указатели / общее руководство также приветствуется.

Моя технология .NET 3.5 / C #, и проект имеет многоуровневую архитектуру с бизнес-уровнем, который состоит из бизнес-объектов, которые охватывают их бизнес-логику

Ответы на вопрос(7)

Ваш ответ на вопрос