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 #
/usr/lib/qt-${ver}/lib #
/usr/lib/qt-${ver}/include #
Распложение moc Распложение .so
Расположение заголовочных файлов
При наличии такой организации сосуществование нескольких версий вполне возможно. Клиентские программы должны указывать необходимую версию библиотеки, однако это небольшая цена, которую приходится уплатить, чтобы не иметь сбоев в интерфейсах. Данная практика позволяет избежать печально известного "ада 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] . Вы добавите более сложный подсчет
Реймонд Эрик Стивен
Просмотр ограничен
Смотрите доступные для ознакомления главы 👉