Re: как можно просто реализовать
От: rg45 СССР  
Дата: 21.03.20 15:23
Оценка: 8 (1)
Здравствуйте, sergey2b, Вы писали:

S>когда мне дали объект на доработку dll умела работать с одним типом контекста A

S>потом добавили контекст B который имел общего предка с A

S>теперь добавили еще С и D и у них уже нет общего предка с A и B


S>подскажите пожалуйста какие есть хорошие варианты организовать


S>1) проверку что переданный handle валидный

S>2) по нему получить поинтер на контест который может быть разных типов
S>3) организовать хранение последнего кода ошибки для каждого контекста

Ну, навскидку. Завести общий абстракный базовый класс (IContext). Постараться сделать так, чтобы бОльшую часть работы с объектами можно было выполнять через этот абстрактный интерфейс. Возможность даункста тоже можно оставить, но не злоупотреблять ею — применять очень локализовано и только там, где это реально оправдано. Код последней ошибки сделать также сделать свойством этих обхектов, доступным через абстрактный интерфейс. Если я что-то не так понял, уточняй задачу.
--
Не можешь достичь желаемого — пожелай достигнутого.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.