Словарь сообщений - PullRequest
       3

Словарь сообщений

0 голосов
/ 08 декабря 2018

У нас есть конфликт в наших командах программистов, когда возникает ошибка в базе данных.

Когда дБ сталкивается с такой ошибкой:

«Msg 547, Уровень 16, Состояние 0, Строка»1

Оператор DELETE конфликтует с ограничением REFERENCE ... «.

Пользовательский интерфейс должен отображать понятные сообщения, например:

« Вы не можете удалить этот элемент.Он использовал ».

Команда базы данных (MS SQL) возвращает чистое сообщение об ошибке с помощью« повысить ошибку »и ожидает, что внутренняя команда (Node js) или внешняя команда (Angular) преобразуют это сообщение в понятное пользователюсообщения и показать пользователю.Но внутренняя и внешняя команды говорят, что она не оптимизирована, и сообщения базы данных должны быть преобразованы в понятные пользователю сообщения в базе данных.

Существуют ли какие-либо стандарты для этой проблемы?

1 Ответ

0 голосов
/ 09 декабря 2018

Ответственность за содержание сообщений об ошибках не должна быть в базе данных.Например, одну и ту же базу данных можно использовать в различных приложениях с пользователями из разных культур: база данных не будет знать, какая локализация используется для конкретного используемого пользовательского интерфейса.

Даже если вашУровень данных возвращает конкретную ошибку, в разных сценариях это может означать разные вещи.Поэтому обычной практикой является построение бизнес-уровня поверх слоя «data».Этот бизнес-уровень может принять решение о том, является ли это проблемой или нет.Этот бизнес-уровень может повторно использоваться несколькими различными уровнями «пользовательского интерфейса» (например, веб-приложение, приложение Windows, телефонное приложение и т. Д.) Или даже бизнес-уровнем других приложений.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...