Класс C ++ Singleton - передовая практика наследования

В существующем проекте я должен унаследовать класс контроллера (MVC), объявленный как Singleton, чтобы определить свой собственный подход. Как правильно наследовать этот класс Singleton?

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

Приложение, которое я добавляю к существующему программному обеспечению, хочет использовать модуль MVC, который выполняет почти ту же задачу, что и тот, который я собираюсь выполнять. Он использует те же методы, вплоть до подписи, с небольшими изменениями. Переписывание моего собственного модуля MVC определенно будет дублированием кода. Существующий модуль внутренне ориентирован на его применение в другой части программного обеспечения, и я не могу просто использовать тот же модуль. Но он написан как шаблон Модель-Представление-Контроллер, где Контроллер - Синглтон.Я получил View уже.

Во-вторых, я сомневаюсь, что смогу классически вывести класс Singleton.

Вызов конструктора из унаследованного класса просто вызовет getinstance () для родительского класса и не сможет вернуть объект из производного класса (?).

В-третьих, я вижу способ справиться с этим. Прокомментируйте / помогите мне улучшить!

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

Спасибо!

8
задан kiriloff 21 February 2012 в 01:06
поделиться