Не стесняйтесь отвечать на вопрос в названии, как обычно в моем изложении, я предлагаю некоторые подробности и особенности ниже.
В настоящее время я разрабатываю и поддерживаю несколько устаревшее бизнес-приложение (ASP / SQL), котороелегко настраивается, позволяя настраивать от среднего до полного: настраиваемые поля, формы, представления, отчеты, действия, события, рабочие процессы и т. д. Эта настройка необходима в области, для которой мы разрабатываем, и позволила нам создать нишу.
Я читал об эффекте внутренней платформы и способах реализации пользовательской настройки высокого уровня и пришел к выводу, что мы страдаем от многих проблем с эффектом внутренней платформы, потому что по сути мы создали высокий уровеньабстракция поверх SQL.Организация пользовательских полей реализована аналогично подходу, найденному здесь
http://blog.springsource.com/arjen/archives/2008/01/24/storing-custom-fields-in-the-database/
Мы используем нечто похожее на метод базы метаданных, описанный в этой статье.Все настройки построены вокруг этого подхода, и во многих отношениях мы страдаем от базы данных поверх базы данных.
Конечный результат - это то, что выглядит фантастически на бумаге, но при этом добавляются дополнительные функции и настраивается кодирование для клиентов.тем больше беспорядка все становится.Кажется, что чем больше я читаю, тем больше понимаю, что это отчасти анти-паттерн.Кажется также, что чем больше я пытаюсь читать, тем больше нахожу того, что написано на эту тему.В любом случае, я пытаюсь изучить современные подходы к этой проблеме и пытаюсь найти больше дискуссий / статей по этой теме.Относятся ли системы баз данных, такие как CouchDB, к этому типу приложений?
Мой вопрос явно довольно общий.Похоже, что против такого рода приложений есть что-то в пользу «лучшего знания и определения своего домена».Есть ли хорошие / лучшие способы реализации такого рода приложений?Я не ищу черно-белых ответов, и любые дальнейшие чтения по этому вопросу были бы фантастическими.Спасибо за любую помощь.