У меня есть сервис, который предоставляет доступ к базе данных. Этот сервис используется несколькими приложениями.
Одно из этих приложений нуждается в особой функциональности. Должен быть только один (административный) пользователь, который может манипулировать данными одновременно. Это приложение также связывается с другим сервисом. Я хочу расширить функциональность этого второго сервиса двумя способами:
bool Acquire()
1. Check if an other user currently holds ownership.
1.1 if true => return false (acquirement failed).
1.2 if false => proceed.
2. set ownership to client connection at server side.
3. return true.
void Release()
1. Check if the client connection currently holds ownership.
1.1 if true => remove ownership of client connection at server side.
1.2 if false => do nothing.
Мой вопрос: это хороший шаблон дизайна? По моему мнению, я не должен менять службу базы данных только для одного специального требования приложения.