В разных методах используются разные подмножества свойств объекта конфигурации.
Если вы создаете только один экземпляр свойства конфигурации, то свойства, которые ему нужно иметь, - это те, которые нужны.будут использоваться любым методом.Другими словами, если хотя бы одному методу нужно это свойство, тогда объекту нужно это свойство.
В этом случае нет необходимости проверять его в отношении отдельных методов, которые в этом нуждаются.Все его свойства должны быть заполнены, потому что они все где-то нужны.Если они нигде не нужны, вы можете удалить их.
Затем, вместо проверки этого объекта в зависимости от потребностей конкретного метода, вы проверяете его один раз, возможно, при запуске.Все свойства необходимы, поэтому, если они не были указаны, приложение просто не может быть запущено.(Иногда полезно включить значения по умолчанию в ваш объект конфигурации. У вас может быть одно свойство, которое вы хотите настроить, но в реальной жизни оно никогда не изменится.)
Если вы создаете разные экземплярыодного и того же объекта для использования в разных методах, и вы хотите заполнить только определенные свойства, тогда лучше этого не делать.Просто создайте более детализированные объекты для различных сценариев, содержащие все необходимые вам свойства.
Чаще всего происходит следующее: у нас есть объект с множеством свойств, и мы используем только несколько из них, поэтому мы заполняем эти свойства ипередать объект в метод.Другие свойства являются нулевыми.
Затем, кто-то модифицирует этот метод, решает, что ему нужно другое свойство, поэтому он пытается использовать его, и они удивляются, обнаружив, что оно нулевое.Затем они должны вернуться и проследить, где был создан этот объект, и выяснить, что заполнено или нет.Это сбивает с толку и отнимает много времени.
Если поля не являются полностью необязательными и не имеет значения, заполнены они или нет, мы не хотим, чтобы мы смотрели на объект с множеством свойств и гадали, какие из них были заполнены, потому что отдельные методыкоторые создают объект "знают", какие свойства нужны другим классам или нет.