Я в основном должен сделать программу, которая будет генерировать PDF. PDF будет иметь 3 разных типа страниц: лист передней обложки, общий лист и последний титульный лист. Заголовок содержит достаточное количество информации, но заголовок лицевой обложки и общий лист отличаются только на 1 элемент, однако, что один элемент требует от меня сдвинуть остальные в координатах. У меня есть фотография, чтобы показать, что я имею в виду.Дизайн иерархии классов для создания PDF
Также единственной целью, на которой действительно служат классы, являются значения, представляющие прямоугольники, которые будут использоваться в качестве целей для печати текста в pdf. Таким образом, они действительно не нуждаются в каких-либо функциях, кроме конструктора, который только инициализирует значения из файла констант.
Я стараюсь использовать «хорошую» практику проектирования, но я не уверен, что более эффективный метод. Кажется, я не могу использовать наследование, которое разделяет общие элементы, так как я всегда получаю то, что мне не нужно в одном из классов. Я думал о простом использовании композиции и создании класса для каждого элемента в заголовке, что бы решить проблему, но тогда у меня было бы намного больше классов, и это был бы класс, состоящий только в том, чтобы удерживать один элемент данных, который не кажется эффективный. Итак, я бы оценил любые предложения о том, как сделать это более сплоченным и разумным дизайном.
Картина НЕ то, что у меня есть сейчас, но она должна представлять, что нужные мне данные, кажется, связаны неловко или, может быть, я просто усложняю это.
Ваш вопрос вводит в заблуждение, поскольку вы рассуждаете на уровне абстракции, который фактически не касается формата PDF (он может соответствовать любому файлу в формате paged). –
Куда это меня покидает? – user3577756