Простое правило здесь. Если класс в сторонней библиотеке является классом экземпляра , сделайте вашу оболочку экземпляром класса ; если у стороннего класса статический класс , создайте оболочку статический класс . Идея классов-оболочек, как правило, состоит в том, чтобы имитировать структуру, но просто скрывать сложность / расширенную / нежелательную функциональность.
Единственное исключение, о котором я могу подумать, это случай, когда сторонняя библиотека плохо спроектирована, и экземплярный класс действительно должен существовать как статический класс. Конечно, если вы упаковываете функциональность на такой уровень, что ваша функция-обертка создает новый класс , ее действительно следует объявить в статическом классе .