Блок задач

9. Паттерны проектирования

Темы
Сложность 3

Задача «Быстрый доступ к размеру изображения (Proxy)»

Реализовать класс, позволяющий получать информацию о размере изображения в BMP-файле со следующим предположением. Если имя файла заканчивается на _WWWxHHH, где WWW и HHH – десятичные числа (необязательно состоящие из трёх цифр), то WWW – ширина, а HHH – высота изображения. В этом случае для получения размера необязательно открывать файл.

  • vasya_1024x768.bmp – размер 1024x768.
  • kolya_300x30 – размер 30x30.
  • petya_200xmax.bmp – неверный формат.

В последнем случае, поскольку формат не соответствует, модуль должен все же открыть BMP-файл и считать размер явным образом.

Работу с самим BMP-файлом вынести в отдельный класс (можно воспользоваться классом Bitmap). Создаваемый класс должен инкапсулировать его (отношение композиции).