Допустимо ли предоставлять библиотеку классов C ++ Singleton, но предоставлять метод instance () вне библиотеки - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть библиотека классов с именем SingletonDemo, но я решил предоставить метод статического доступа SingletonDemo :: GetInstance () вне библиотеки, поэтому, когда я создаю код для производства, мне нужна одна версия Getinstance (),и когда я собираюсь для модульных тестов, я хочу другую версию.

1 Ответ

0 голосов
/ 12 февраля 2019

Разве вы не хотите использовать директиву прекомпилятора для этого?кажется немного более понятным и понятным ...

#ifdef unit_test
    //unit test implementation
#else
    // normal implementation...
#endif

, так что вы можете автоматически переключаться между реализациями.

Но вы можете не делать этого ... вы сталкиваетесь с отвлекающим поведением отваш проверенный код до релиза.

...