Инструменты пользователя

Инструменты сайта


bb:devpackernohost

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
bb:devpackernohost [2016/04/06 20:20]
prospero78 [Дальнейшее преобразование]
bb:devpackernohost [2020/10/29 07:08] (текущий)
Строка 25: Строка 25:
  
 ===== Дальнейшее преобразование ===== ===== Дальнейшее преобразование =====
-Модуль ''PackedExeWriter'' реализует функции записи файлов, которые описаны типом PackedCore.FileList. Этот тип описывает значение даты и времени последней модификации файла, которые затем использует PackedExeWriter. На различных платформах (а так же при использовании пользовательских реализаций Files.Directory) способы получения информации о времени последнего изменения могут различаться. Следовательно, модуль PackedExeWriter не должен зависеть от конкретной реализации файловой подсистемы BB, согласно принципа "черного ящика". Для изоляции PackedExeWriter опишем в модуле PackedCore хук для получения нужной информации, который реализуем в модуле PackedOldWinSelector (для работы в эталонном ББ). Данный модуль одновременно будет устанавливать и реализацию записывателя.+Модуль ''PackedExeWriter'' реализует функции записи файлов, которые описаны типом ''PackedCore.FileList''. Этот тип описывает значение даты и времени последней модификации файла, которые затем использует ''PackedExeWriter''. На различных платформах (а так же при использовании пользовательских реализаций ''Files.Directory'') способы получения информации о времени последнего изменения могут различаться. Следовательно, модуль ''PackedExeWriter'' не должен зависеть от конкретной реализации файловой подсистемы BB, согласно принципа "черного ящика". Для изоляции ''PackedExeWriter'' опишем в модуле ''PackedCore'' хук для получения нужной информации, который реализуем в модуле ''PackedOldWinSelector'' (для работы в эталонном ББ). Данный модуль одновременно будет устанавливать и реализацию //записывателя//.
  
 ===== Результаты ===== ===== Результаты =====
-Таким образом из негерметичного модуля DevPacker мы получили герметичную реализацию упаковщика файлов, подсистему [[https://bitbucket.org/petryxa/packed]], в которой представлен абстрактный интерфейс упаковки файлов, пользовательский интерфейс, который не зависит от реализации, а также конкретная реализация, которая скрыта и соответствует строго определенной платформе. Это открывает возможность как для использования в новой сборке ББ, так и для дальнейшего расширения подсистемы на новые платформы.+Таким образом из негерметичного модуля ''DevPacker'' мы получили герметичную реализацию упаковщика файлов, подсистему [[https://bitbucket.org/petryxa/packed]], в которой представлен абстрактный интерфейс упаковки файлов, пользовательский интерфейс, который не зависит от реализации, а также конкретная реализация, которая скрыта и соответствует строго определенной платформе. Это открывает возможность как для использования в новой сборке ББ, так и для дальнейшего расширения подсистемы на новые платформы.((Ну, Пётр Кушнир крут 8-o:-D --- //[[prospero.78.su@gmail.com|Валерий Шипков]] 2016/04/06 20:23//))
  
 ===== Адаптация к новым платформам ===== ===== Адаптация к новым платформам =====
-{{ :packed-replace.png?direct&300 |}} +{{  :packed-replace.png  }} 
-Для реализации упаковщика под новую платформу, например, Linux, необходимо: описать константы платформы (см. PackedLinConst), реализовать модули записывателя (см. PackedSOWriter), и реализовать модуль PackedLinFiles, который возможно будет взаимодействовать с модулем-реализацией файловой системы в Linux-сборке ББ. Также необходим селектор платформы (см. PackedLinSelector) который позволит инициализировать подсистему для работы под Linux.+Для реализации упаковщика под новую платформу, например, **Linux**, необходимо: описать константы платформы (см. ''PackedLinConst''), реализовать модули записывателя (см. ''PackedSOWriter''), и реализовать модуль ''PackedLinFiles'', который возможно будет взаимодействовать с модулем-реализацией файловой системы в Linux-сборке ББ. Также необходим селектор платформы (см. ''PackedLinSelector'') который позволит инициализировать подсистему для работы под **Linux**.
bb/devpackernohost.1459963234.txt.gz · Последнее изменение: 2020/10/29 07:08 (внешнее изменение)