19.2.4.4. Проектирование с учетом обновлений

19.2.4.4. Проектирование с учетом обновлений

По мере выхода новых версий, программы изменяются. Некоторые изменения обратно не совместимы. Соответственно, следует серьезно продумать проектирование схемы инсталляции, для того чтобы несколько установленных версий кода могли сосуществовать в одной системе. Это особенно важно в отношении библиотек — нельзя рассчитывать на то, что все клиентские программы будут обновляться по мере изменения вашего API-интерфейса.

Проекты Emacs, Python и Qt имеют хорошее соглашение для реализации этого принципа: каталоги с номерами версий (другой практический прием, который, вероятно, становится установившейся практикой благодаря FSF). Ниже показано, как выглядит установленная библиотека Qt (${ver} — номер версии).

/usr/lib/qt /usr/lib/qt-${ver}

/usr/lib/qt-${ver}/bin     # Расположение moc

/usr/lib/qt-${ver}/lib     # Расположение .so

/usr/lib/qt-${ver}/include # Расположение заголовочных файлов

При наличии такой организации сосуществование нескольких версий вполне возможно. Клиентские программы должны указывать необходимую версию библиотеки, однако это небольшая цена, которую приходится уплатить, чтобы не иметь сбоев в интерфейсах. Данная практика позволяет избежать печально известного "ада DLL", характерного для Windows.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Глава 3 Подбор строительно-отделочных материалов и работ с учетом их стоимости в программе PromOffice Euroremont

Из книги Домашний архитектор. Подготовка к ремонту и строительству на компьютере автора Булат Виталий

Глава 3 Подбор строительно-отделочных материалов и работ с учетом их стоимости в программе PromOffice Euroremont Любому человеку рано или поздно приходится делать ремонт. Квартира, дом, загородная дача – любое жилье время от времени требует ремонта или реконструкции. Даже если нет


Мониторинг обновлений на сайтах с помощью WebSite-Watcher

Из книги 200 лучших программ для Интернета. Популярный самоучитель автора Краинский И

Мониторинг обновлений на сайтах с помощью WebSite-Watcher Производитель: Martin Aignesberger (http://aignes.com).Статус: коммерческая.Страница для скачивания: http://aignes.com/download.htm.Размер: 3,7 Мбайт.По мере распространения Интернет превращается для многих пользователей из модной игрушки и


1.6.17. Правило расширяемости: проектируйте с учетом изменений в будущем, поскольку будущее придет скорее, чем кажется

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

1.6.17. Правило расширяемости: проектируйте с учетом изменений в будущем, поскольку будущее придет скорее, чем кажется Если доверять заявлениям других людей о "единственном верном пути" неблагоразумно, еще большим безрассудством будет вера в непогрешимость собственных


12.2. Проектирование

Из книги Объектно-ориентированный анализ и проектирование с примерами приложений на С++ автора Буч Гради

12.2. Проектирование Как уже отмечалось в главе 6, создание архитектуры подразумевает выявление основной структуры классов и спецификацию общих взаимодействий, которые оживляют классы. Сконцентрировав внимание прежде всего на этих механизмах, мы с самого начала выявляем


Правило 19: Рассматривайте проектирование класса как проектирование типа

Из книги Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ автора Мейерс Скотт

Правило 19: Рассматривайте проектирование класса как проектирование типа В C++, как и в других объектно-ориентированных языках программирования, при определении нового класса определяется новый тип. Потому большую часть времени вы как разработчик C++ будете тратить на


1.6.17. Правило расширяемости: проектируйте с учетом изменений в будущем, поскольку будущее придет скорее, чем кажется

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

1.6.17. Правило расширяемости: проектируйте с учетом изменений в будущем, поскольку будущее придет скорее, чем кажется Если доверять заявлениям других людей о "единственном верном пути" неблагоразумно, еще большим безрассудством будет вера в непогрешимость собственных


19.2.4.4. Проектирование с учетом обновлений

Из книги Практика и проблематика моделирования бизнес-процессов автора Всяких Е И

19.2.4.4. Проектирование с учетом обновлений По мере выхода новых версий, программы изменяются. Некоторые изменения обратно не совместимы. Соответственно, следует серьезно продумать проектирование схемы инсталляции, для того чтобы несколько установленных версий кода


7. Кодирование с учетом масштабируемости

Из книги Руководство по переходу на Ubuntu 10.04 LTS «Lucid Lynx» автора Неворотин Вадим

7. Кодирование с учетом масштабируемости РезюмеВсегда помните о возможном росте данных. Подумайте об асимптотической сложности без преждевременной оптимизации. Алгоритмы, которые работают с пользовательскими данными, должны иметь предсказуемое и, желательно, не хуже,


Глава 21 Менеджер обновлений

Из книги Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript автора Розенцвейг Гэри

Глава 21 Менеджер обновлений Итак, я рассказал уже практически всё про управление программами и пакетами в Ubuntu, осталось только сказать пару слов про механизм обновлений. В принципе, тут всё просто и особенно-то и говорить нечего. Как вы уже знаете, каждый репозиторий


21.1 Менеджер обновлений

Из книги Установка, настройка и восстановление Windows 7 на 100% автора Ватаманюк Александр Иванович

21.1 Менеджер обновлений Основным инструментом работы с обновлениями является, как ни странно, Менеджер обновлений. Найти его можно в меню Система?Администрирование. Собственно сам менеджер умеет выполнять только свои прямые обязанности, поэтому его интерфейс весьма


Викторина с учетом времени

Из книги Linux Mint и его Cinnamon. Очерки применителя автора Федорчук Алексей Викторович

Викторина с учетом времени Исходный файл: Flashtrivia.fla Теперь, когда у вас есть работающая программа викторины, можно кое-что добавить и создать более развернутый вариант викторины. Эта игра отличается от предыдущей совсем немногим [15] . Вы добавите более сложный подсчет


Центр обновлений Windows

Из книги Выжить в цифровом мире. Иллюстрированные советы от «Лаборатории Касперского» автора Дьяков Михаил

Центр обновлений Windows Как и в предыдущих версиях, в Windows 7 с помощью данного механизма можно управлять системой обновления операционной системы и установленных программ. Здесь вы можете искать обновления, настраивать поведение компьютера при их обнаружении на


16.2. Установка драйверов с помощью Центра обновлений Microsoft

Из книги автора

16.2. Установка драйверов с помощью Центра обновлений Microsoft Предвидев тот факт, что некоторое время после выхода операционной системы Windows 7 многие устройства могут оказаться без драйверов и, соответственно, их использование будет невозможным, разработчики операционной


Менеджер обновлений mintupdate

Из книги автора

Менеджер обновлений mintupdate После рассмотрения Менеджера программ и Менеджера репозиториев резонно перейти к средствам, обеспечивающим обновление системы. Таковым в фирменном наборе инструментов Mint является Менеджер обновлений — mintupdate. По умолчанию он включается в


Совет 42: Загрузка обновлений

Из книги автора

Совет 42: Загрузка обновлений Единожды скачав программу, можно пользоваться ею многие годы — она не механизм, износу не подвержена. Но все-таки совсем расслабляться не стоит: любая программа содержит ошибки — уязвимости, которые могут быть использованы злоумышленниками