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.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Совет 42: Загрузка обновлений
Совет 42: Загрузка обновлений Единожды скачав программу, можно пользоваться ею многие годы — она не механизм, износу не подвержена. Но все-таки совсем расслабляться не стоит: любая программа содержит ошибки — уязвимости, которые могут быть использованы злоумышленниками
Менеджер обновлений mintupdate
Менеджер обновлений mintupdate После рассмотрения Менеджера программ и Менеджера репозиториев резонно перейти к средствам, обеспечивающим обновление системы. Таковым в фирменном наборе инструментов Mint является Менеджер обновлений — mintupdate. По умолчанию он включается в
Глава 21 Менеджер обновлений
Глава 21 Менеджер обновлений Итак, я рассказал уже практически всё про управление программами и пакетами в Ubuntu, осталось только сказать пару слов про механизм обновлений. В принципе, тут всё просто и особенно-то и говорить нечего. Как вы уже знаете, каждый репозиторий
21.1 Менеджер обновлений
21.1 Менеджер обновлений Основным инструментом работы с обновлениями является, как ни странно, Менеджер обновлений. Найти его можно в меню Система?Администрирование. Собственно сам менеджер умеет выполнять только свои прямые обязанности, поэтому его интерфейс весьма
Центр обновлений Windows
Центр обновлений Windows Как и в предыдущих версиях, в Windows 7 с помощью данного механизма можно управлять системой обновления операционной системы и установленных программ. Здесь вы можете искать обновления, настраивать поведение компьютера при их обнаружении на
16.2. Установка драйверов с помощью Центра обновлений Microsoft
16.2. Установка драйверов с помощью Центра обновлений Microsoft Предвидев тот факт, что некоторое время после выхода операционной системы Windows 7 многие устройства могут оказаться без драйверов и, соответственно, их использование будет невозможным, разработчики операционной
7. Кодирование с учетом масштабируемости
7. Кодирование с учетом масштабируемости РезюмеВсегда помните о возможном росте данных. Подумайте об асимптотической сложности без преждевременной оптимизации. Алгоритмы, которые работают с пользовательскими данными, должны иметь предсказуемое и, желательно, не хуже,
12.2. Проектирование
12.2. Проектирование Как уже отмечалось в главе 6, создание архитектуры подразумевает выявление основной структуры классов и спецификацию общих взаимодействий, которые оживляют классы. Сконцентрировав внимание прежде всего на этих механизмах, мы с самого начала выявляем
1.6.17. Правило расширяемости: проектируйте с учетом изменений в будущем, поскольку будущее придет скорее, чем кажется
1.6.17. Правило расширяемости: проектируйте с учетом изменений в будущем, поскольку будущее придет скорее, чем кажется Если доверять заявлениям других людей о "единственном верном пути" неблагоразумно, еще большим безрассудством будет вера в непогрешимость собственных
Правило 19: Рассматривайте проектирование класса как проектирование типа
Правило 19: Рассматривайте проектирование класса как проектирование типа В C++, как и в других объектно-ориентированных языках программирования, при определении нового класса определяется новый тип. Потому большую часть времени вы как разработчик C++ будете тратить на
Мониторинг обновлений на сайтах с помощью WebSite-Watcher
Мониторинг обновлений на сайтах с помощью WebSite-Watcher Производитель: Martin Aignesberger (http://aignes.com).Статус: коммерческая.Страница для скачивания: http://aignes.com/download.htm.Размер: 3,7 Мбайт.По мере распространения Интернет превращается для многих пользователей из модной игрушки и
1.6.17. Правило расширяемости: проектируйте с учетом изменений в будущем, поскольку будущее придет скорее, чем кажется
1.6.17. Правило расширяемости: проектируйте с учетом изменений в будущем, поскольку будущее придет скорее, чем кажется Если доверять заявлениям других людей о "единственном верном пути" неблагоразумно, еще большим безрассудством будет вера в непогрешимость собственных
19.2.4.4. Проектирование с учетом обновлений
19.2.4.4. Проектирование с учетом обновлений По мере выхода новых версий, программы изменяются. Некоторые изменения обратно не совместимы. Соответственно, следует серьезно продумать проектирование схемы инсталляции, для того чтобы несколько установленных версий кода
Глава 3 Подбор строительно-отделочных материалов и работ с учетом их стоимости в программе PromOffice Euroremont
Глава 3 Подбор строительно-отделочных материалов и работ с учетом их стоимости в программе PromOffice Euroremont Любому человеку рано или поздно приходится делать ремонт. Квартира, дом, загородная дача – любое жилье время от времени требует ремонта или реконструкции. Даже если нет
Викторина с учетом времени
Викторина с учетом времени Исходный файл: Flashtrivia.fla Теперь, когда у вас есть работающая программа викторины, можно кое-что добавить и создать более развернутый вариант викторины. Эта игра отличается от предыдущей совсем немногим [15] . Вы добавите более сложный подсчет