Недавно я просмотрел мой код у старшего разработчика в моей компании. Он критиковал мой дизайн за использование слишком большого количества классов. Мне интересно услышать ваши реакции.
Мне было поручено создать службу, которая создает xml файл в результате манипулирования тремя другими файлами xml. Назовите эти aaa.xml, bbb.xml и ccc.xml. Услуга работает в два этапа. В первой фазе он сглаживает aaa.xml против bbb.xml. На втором этапе он объединяет продукт первой фазы с ccc.xml для получения конечного результата.
Я выбрал дизайн с тремя классами: класс XmlService, который использовал два других класса, класс скруббера и класс слияния. Я сохранил классы очистки и слияния отдельно, потому что оба класса были большими и отличались различной логикой.
Я думал, что мой подход хорош, потому что он держал мои классы маленькими и сплоченными. Мой подход также помог контролировать размер моего тестового класса.
Старший разработчик утверждал, что классы очистки и слияния будут использоваться только классом XmlService и поэтому должны быть частью этого. Он чувствовал, что это сделает XMLService сплоченным, и это то, что является связующим, по его словам. Он также считает, что разрушение классов таким образом делает их ослабление сплоченности.
Ирония заключается в том, что я пытался сломать эти классы для достижения сплоченности. Как вы думаете? Кто прав или не прав? Мы оба правы? Благодарим вас за ваши предложения.