LINUX.ORG.RU

История изменений

Исправление Nervous, (текущая версия) :

для печати каждого типа документа нужно создать класс

не стоит плодить абстракции, а делать все как можно минималистичнее

Неукоснительное соблюдение взаимоисключающих параграфов как оно есть. Впрочем, у адептов ООП всегда так — начинают за здравие, а буквально через пять минут начинается грёбаный чад кутежа с помощью паттерна Visitor.

Минималистичнее — это полиморфная функция (мультиметод) с множественной диспетчеризацией. Для каждого набора аргументов можно задать свою реализацию, причём в полном соответствии с Open-Closed Principle (который O в SOLID). И никакие новые классы не нужны, вообще совсем.

Исходная версия Nervous, :

для печати каждого типа документа нужно создать класс

не стоит плодить абстракции, а делать все как можно минималистичнее

Неукоснительное соблюдение взаимоисключающих параграфов как оно есть. Впрочем, у адептов ООП всегда так — начинают за здравие, а буквально через пять минут начинается грёбаный чад кутежа с помощью паттерна Visitor.

Минималистичнее — это полиморфная функция (мультиметод) с множественной диспетчеризацией. Для каждого набора аргументов можно задать свою реализацию, причём в полном соответствии с Open-Closed Principle (который O в SOLID).