У меня есть вопрос об использовании методов «utility/helper» в заводском классе. Рассмотрим пример строки XML, которая перепечатывает документ. У меня есть класс, который преобразует его в «объект» (скажем, PDF, Word, CSV и т. Д.). У меня есть фабричный класс (позволяет его назвать DocumentFactory), который принимает эту строку XML и на основе определенных правил возвращает верный объект документа.Использование вспомогательных/служебных методов в классе Factory
Мой вопрос здесь в том, что с точки зрения «лучших практик» это нормально для меня, чтобы добавить методы «утилиты/помощника» в класс DocumentFactory, помогающий решить, какой тип объекта будет возвращен? Эти помощники выходят за рамки простого утверждения if/swtich. Но не более 15-20 строк.
Я использую один закрытый статический класс, а также в моем коде, и есть около 4-5 вспомогательных методов (помощники общедоступны, так как у меня есть тесты, написанные для них).
Так что эта настройка действительна для фабричного класса?
«Применяются все обычные предупреждения, связанные с методом» Что это? – RayJ
Ничего особенного, только то, что вы уже знаете, если читаете Фаулера. Не позволяйте этим вспомогательным методам распространяться на сотни строк запутанной логики, избегать упорядочивания зависимостей между ними, реорганизовывать их в свой класс, если вы захотите использовать их вне DocumentFactory. Что-то в этом роде. Если у вас есть тесты для них, и эти тесты являются всеобъемлющими, вы, вероятно, хорошо. –
есть. я думаю, я должен быть в порядке :) – RayJ