Сообщение Re: как использовать класс от 08.02.2017 9:53
Изменено 08.02.2017 9:58 MasterZiv
Re: как использовать класс
Здравствуйте, sergey2b, Вы писали:
S>имееться определение класса A
S>который используеться в 16 Gb кода
S>как надо организовать использование класса A так что бы
S>изменение его определение (скажем добавили новый метод) не вызывало полной перекомпиляции используещего его кода
В виде интерфейса (паттерн Bridge).
S>имееться определение класса A
S>который используеться в 16 Gb кода
S>как надо организовать использование класса A так что бы
S>изменение его определение (скажем добавили новый метод) не вызывало полной перекомпиляции используещего его кода
В виде интерфейса (паттерн Bridge).
Re: как использовать класс
Здравствуйте, sergey2b, Вы писали:
S>имееться определение класса A
S>который используеться в 16 Gb кода
S>как надо организовать использование класса A так что бы
S>изменение его определение (скажем добавили новый метод) не вызывало полной перекомпиляции используещего его кода
В виде интерфейса (паттерн Bridge).
Чтобы изменение его определение (добавление метода) не вызывало полной перекомпиляции используещего его кода, нужно
также ещё наследовать интерфейсы, по версиям полного интерфейса (примерно так делается в COM),т.е.
базовый интерфейс -- версия 1, добавляются методы -- наследуется от базового интерфейса интерфейс версии 2,
туда добавляются новые методы. Весь код, который не использует новые методы, не нужно пересобирать даже, не
то, что перекомпилировать (бинарная совместимость), а код, использующий новые методы, будет вынужден заменить
интерфейс базовой версии на новую версию, и вынужден будет пересобраться.
S>имееться определение класса A
S>который используеться в 16 Gb кода
S>как надо организовать использование класса A так что бы
S>изменение его определение (скажем добавили новый метод) не вызывало полной перекомпиляции используещего его кода
В виде интерфейса (паттерн Bridge).
Чтобы изменение его определение (добавление метода) не вызывало полной перекомпиляции используещего его кода, нужно
также ещё наследовать интерфейсы, по версиям полного интерфейса (примерно так делается в COM),т.е.
базовый интерфейс -- версия 1, добавляются методы -- наследуется от базового интерфейса интерфейс версии 2,
туда добавляются новые методы. Весь код, который не использует новые методы, не нужно пересобирать даже, не
то, что перекомпилировать (бинарная совместимость), а код, использующий новые методы, будет вынужден заменить
интерфейс базовой версии на новую версию, и вынужден будет пересобраться.