Предыдущая версия справа и слева
Предыдущая версия
Следующая версия
|
Предыдущая версия
Следующая версия
Следующая версия справа и слева
|
bb:devpackernohost [2016/04/06 20:19] prospero78 [Герметизация.] |
bb:devpackernohost [2016/04/06 20:20] prospero78 [Дальнейшее преобразование] |
| |
===== Модернизация HostPackedFiles. ===== | ===== Модернизация HostPackedFiles. ===== |
Модуль //HostPackedFiles// имеет неявную зависимость от алгоритмов //DevPacker// и опирается на эталонный интерфейс //HostFiles//, реализации файловых абстракций //BlackBox//. | Модуль ''HostPackedFiles'' имеет неявную зависимость от алгоритмов ''DevPacker'' и опирается на эталонный интерфейс ''HostFiles'', реализации файловых абстракций ''BlackBox''. |
Это делает его уязвимым как при смене платформы, так и при смене формата записи. Поэтому указания на конкретные особенности имеет смысл отделить от остальной логики. | Это делает его уязвимым как при смене платформы, так и при смене формата записи. Поэтому указания на конкретные особенности имеет смысл отделить от остальной логики. |
| |
Создадим модуль //PackedWinConst//, который будет содержать необходимую информацию для работы с форматом записи (для эталонной реализации это константы версии и тэга). Эти же константы используем внутри модуля //PackedExeWriter//. | Создадим модуль ''PackedWinConst'', который будет содержать необходимую информацию для работы с форматом записи (для эталонной реализации это константы версии и тэга). Эти же константы используем внутри модуля ''PackedExeWriter''. |
| |
===== Дальнейшее преобразование ===== | ===== Дальнейшее преобразование ===== |
Модуль PackedExeWriter реализует функции записи файлов, которые описаны типом PackedCore.FileList. Этот тип описывает значение даты и времени последней модификации файла, которые затем использует PackedExeWriter. На различных платформах (а так же при использовании пользовательских реализаций Files.Directory) способы получения информации о времени последнего изменения могут различаться. Следовательно, модуль PackedExeWriter не должен зависеть от конкретной реализации файловой подсистемы BB, согласно принципа "черного ящика". Для изоляции PackedExeWriter опишем в модуле PackedCore хук для получения нужной информации, который реализуем в модуле PackedOldWinSelector (для работы в эталонном ББ). Данный модуль одновременно будет устанавливать и реализацию записывателя. | Модуль ''PackedExeWriter'' реализует функции записи файлов, которые описаны типом PackedCore.FileList. Этот тип описывает значение даты и времени последней модификации файла, которые затем использует PackedExeWriter. На различных платформах (а так же при использовании пользовательских реализаций Files.Directory) способы получения информации о времени последнего изменения могут различаться. Следовательно, модуль PackedExeWriter не должен зависеть от конкретной реализации файловой подсистемы BB, согласно принципа "черного ящика". Для изоляции PackedExeWriter опишем в модуле PackedCore хук для получения нужной информации, который реализуем в модуле PackedOldWinSelector (для работы в эталонном ББ). Данный модуль одновременно будет устанавливать и реализацию записывателя. |
| |
===== Результаты ===== | ===== Результаты ===== |