Здравствуйте, <Аноним>, Вы писали:
А>К своему стыду только недавно узнал про Паттерны проектирования. Сейчас читаю всем известную книгу Эриха Гамма, с соавторами про паттерны. Там в качестве практического примера приводится графический редактор Lexi. По мере прочтения хочется самому закреплять на практике прочитанный материал, применяя паттерны на примере не такого относительно большого примера как Lexi, а чего-то в кодировании поменьше объемом, но со всеми сруктурными особенностями. Может быть что-то связанном с вводом/выводом. Не хочется самому придумывать, навереняка уже есть какие-то уже продуманные задачки.
А>Спасибо.
Прочитав эту книгу я написал библиотеку с помощью которой смог генерить отчеты в различных форматах.
Идея такова. Документ состоит из заголовка и трилера, между ними тело отчета. Тело может состоять из заголовка, траилера и данных. Данные, заголовок и траилер состоят из строк с данными. Строки состоят из полей. Поля имеют свой тип, задаваемый при создании строки. Поля имеют функцию их отображения в текстовом виде. Создаем фабрику классов для строк, где реализуем правила создания строк и предоставления их.
При заполнении строк данными вбираем нужную строку и работаем с ней.
При создании файла даем комаду документу сохраниться, тот готовит свое представление в текстовом виде передавая команду своим элементам выдать результат в текстовом виде.
В общем наибольшее время ушло на создание прототипа. Остальные варианты пошли горазда быстрее.
... << RSDN@Home 1.1.3 stable >>