Общий интерфейс для больших проектов

Допустим, вы пишете более крупный проект и должны использовать сторонние библиотеки. Таким образом, ваш полный проект будет зависеть от этих библиотек.

Я подумал, что вместо того, чтобы использовать эти сторонние библиотеки напрямую, я бы написал какую-нибудь библиотеку-оболочку или интерфейс, который бы выглядел примерно так.

void myMainloop(...){
3rdpartyMainloop(...);
}

Поэтому, если сторонняя библиотека устарела, я просто мог бы переключиться на другую библиотеку, просто интегрировав ее в свою библиотеку-оболочку.

Это хорошая вещь, чтобы сделать? Какие у меня есть альтернативы?

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

0

Решение

Вы мог написать общий интерфейс, к которому вы могли бы адаптировать одну или несколько сторонних библиотек. Тем не менее, это потребует очень тщательного проектирования и планирования, не говоря уже об огромных усилиях по разработке, если вы говорите о библиотеке размера и области применения Qt. Сначала вам нужно спроектировать свои интерфейсы, а затем реализовать эти интерфейсы для каждой библиотеки, которую вы хотите подключить.

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

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

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]